vmfloaty 0.2.13 → 0.2.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/vmfloaty/auth.rb +2 -2
- data/lib/vmfloaty/format.rb +1 -1
- data/lib/vmfloaty/version.rb +1 -1
- data/lib/vmfloaty.rb +4 -3
- data/spec/vmfloaty/auth_spec.rb +54 -0
- data/spec/vmfloaty/format_spec.rb +18 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b24b1f8db9ba5d7741f7364868c17976f779cf28
|
4
|
+
data.tar.gz: 3ac32fe7709e6e8a2ba39b32aaa503ce92e0e5ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67f4beb31fc6fb3b2880177a301648cd431b4d79097d4a2aa4b74211b7446cf146338dafffb425d5feb7b5d34048dd1d557e36f677e82ecdd26576a466c1d2fe
|
7
|
+
data.tar.gz: 63e69b768a855e37d845f7aca4f6221734e1cedeffa63f89453d4ee68da52f65e00dfd5fd553e50b8264dc81240630dbebd5f1e54494800421c910e469e01f52
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
vmfloaty
|
2
2
|
========
|
3
3
|
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/vmfloaty.svg)](https://badge.fury.io/rb/vmfloaty)
|
5
|
+
|
4
6
|
A CLI helper tool for [Puppet Labs vmpooler](https://github.com/puppetlabs/vmpooler) to help you stay afloat.
|
5
7
|
|
6
8
|
<img src="http://i.imgur.com/xGcGwuH.jpg" width=200 height=200>
|
data/lib/vmfloaty/auth.rb
CHANGED
@@ -37,13 +37,13 @@ class Auth
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
def self.token_status(verbose, url,
|
40
|
+
def self.token_status(verbose, url, token)
|
41
41
|
if token.nil?
|
42
42
|
STDERR.puts 'You did not provide a token'
|
43
43
|
exit 1
|
44
44
|
end
|
45
45
|
|
46
|
-
conn = Http.
|
46
|
+
conn = Http.get_conn(verbose, url)
|
47
47
|
|
48
48
|
response = conn.get "/token/#{token}"
|
49
49
|
res_body = JSON.parse(response.body)
|
data/lib/vmfloaty/format.rb
CHANGED
data/lib/vmfloaty/version.rb
CHANGED
data/lib/vmfloaty.rb
CHANGED
@@ -64,7 +64,7 @@ class Vmfloaty
|
|
64
64
|
|
65
65
|
unless os_types.nil?
|
66
66
|
response = Pooler.retrieve(verbose, os_types, token, url)
|
67
|
-
Format.get_hosts(response)
|
67
|
+
puts Format.get_hosts(response)
|
68
68
|
else
|
69
69
|
puts 'You did not provide an OS to get'
|
70
70
|
end
|
@@ -239,15 +239,16 @@ class Vmfloaty
|
|
239
239
|
url = options.url ||= config['url']
|
240
240
|
token = options.token ||= config['token']
|
241
241
|
user = options.user ||= config['user']
|
242
|
-
pass = password "Enter your password please:", '*'
|
243
242
|
|
244
243
|
case action
|
245
244
|
when "get"
|
245
|
+
pass = password "Enter your password please:", '*'
|
246
246
|
puts Auth.get_token(verbose, url, user, pass)
|
247
247
|
when "delete"
|
248
|
+
pass = password "Enter your password please:", '*'
|
248
249
|
Auth.delete_token(verbose, url, user, pass, token)
|
249
250
|
when "status"
|
250
|
-
Auth.token_status(verbose, url,
|
251
|
+
Auth.token_status(verbose, url, token)
|
251
252
|
when nil
|
252
253
|
STDERR.puts "No action provided"
|
253
254
|
else
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require_relative '../../lib/vmfloaty/auth'
|
3
|
+
|
4
|
+
describe Pooler do
|
5
|
+
before :each do
|
6
|
+
@vmpooler_url = "https://vmpooler.example.com"
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "#get_token" do
|
10
|
+
before :each do
|
11
|
+
@get_token_response = "{\"ok\": true,\"token\":\"utpg2i2xswor6h8ttjhu3d47z53yy47y\"}"
|
12
|
+
@token = "utpg2i2xswor6h8ttjhu3d47z53yy47y"
|
13
|
+
end
|
14
|
+
|
15
|
+
it "returns a token from vmpooler" do
|
16
|
+
stub_request(:post, "https://first.last:password@vmpooler.example.com/token").
|
17
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.1'}).
|
18
|
+
to_return(:status => 200, :body => @get_token_response, :headers => {})
|
19
|
+
|
20
|
+
token = Auth.get_token(false, @vmpooler_url, "first.last", "password")
|
21
|
+
expect(token).to eq @token
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "#delete_token" do
|
26
|
+
before :each do
|
27
|
+
@delete_token_response = "{\"ok\":true}"
|
28
|
+
@token = "utpg2i2xswor6h8ttjhu3d47z53yy47y"
|
29
|
+
end
|
30
|
+
|
31
|
+
it "deletes the specified token" do
|
32
|
+
stub_request(:delete, "https://first.last:password@vmpooler.example.com/token/utpg2i2xswor6h8ttjhu3d47z53yy47y").
|
33
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.1'}).
|
34
|
+
to_return(:status => 200, :body => @delete_token_response, :headers => {})
|
35
|
+
|
36
|
+
#expect(Auth.delete_token(false, @vmpooler_url, "first.last", "password", @token)).to eq @delete_token_response
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "#token_status" do
|
41
|
+
before :each do
|
42
|
+
@token_status_response = "{\"ok\":true,\"utpg2i2xswor6h8ttjhu3d47z53yy47y\":{\"created\":\"2015-04-28 19:17:47 -0700\"}}"
|
43
|
+
@token = "utpg2i2xswor6h8ttjhu3d47z53yy47y"
|
44
|
+
end
|
45
|
+
|
46
|
+
it "checks the status of a token" do
|
47
|
+
stub_request(:get, "#{@vmpooler_url}/token/utpg2i2xswor6h8ttjhu3d47z53yy47y").
|
48
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.1'}).
|
49
|
+
to_return(:status => 200, :body => @token_status_response, :headers => {})
|
50
|
+
|
51
|
+
expect(Auth.token_status(false, @vmpooler_url, @token)).to eq @get_token_response
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'json'
|
3
|
+
require_relative '../../lib/vmfloaty/format'
|
4
|
+
|
5
|
+
describe Pooler do
|
6
|
+
|
7
|
+
describe "#get_hosts" do
|
8
|
+
before :each do
|
9
|
+
@hostname_hash = "{\"ok\":true,\"debian-7-i386\":{\"hostname\":[\"sc0o4xqtodlul5w\",\"4m4dkhqiufnjmxy\"]},\"debian-7-x86_64\":{\"hostname\":\"zb91y9qbrbf6d3q\"},\"domain\":\"company.com\"}"
|
10
|
+
@format_hash = "{\"debian-7-i386\":[\"sc0o4xqtodlul5w\",\"4m4dkhqiufnjmxy\"],\"debian-7-x86_64\":\"zb91y9qbrbf6d3q\",\"domain\":\"company.com\"}"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "formats a hostname hash into os, hostnames, and domain name" do
|
14
|
+
|
15
|
+
expect(Format.get_hosts(JSON.parse(@hostname_hash))).to eq @format_hash
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vmfloaty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Cain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
@@ -57,6 +57,8 @@ files:
|
|
57
57
|
- lib/vmfloaty/pooler.rb
|
58
58
|
- lib/vmfloaty/version.rb
|
59
59
|
- spec/spec_helper.rb
|
60
|
+
- spec/vmfloaty/auth_spec.rb
|
61
|
+
- spec/vmfloaty/format_spec.rb
|
60
62
|
- spec/vmfloaty/pooler_spec.rb
|
61
63
|
homepage: https://github.com/briancain/vmfloaty
|
62
64
|
licenses:
|
@@ -84,4 +86,6 @@ specification_version: 4
|
|
84
86
|
summary: CLI application to interface with vmpooler
|
85
87
|
test_files:
|
86
88
|
- spec/spec_helper.rb
|
89
|
+
- spec/vmfloaty/auth_spec.rb
|
90
|
+
- spec/vmfloaty/format_spec.rb
|
87
91
|
- spec/vmfloaty/pooler_spec.rb
|