vmware-vra 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,143 +17,143 @@
17
17
  # limitations under the License.
18
18
  #
19
19
 
20
- require 'spec_helper'
20
+ require "spec_helper"
21
21
 
22
22
  describe Vra::CatalogRequest do
23
23
  before(:each) do
24
- catalog_item = double('catalog_item')
25
- allow(catalog_item).to receive(:blueprint_id).and_return('catalog_blueprint')
26
- allow(catalog_item).to receive(:tenant_id).and_return('catalog_tenant')
27
- allow(catalog_item).to receive(:subtenant_id).and_return('catalog_subtenant')
24
+ catalog_item = double("catalog_item")
25
+ allow(catalog_item).to receive(:blueprint_id).and_return("catalog_blueprint")
26
+ allow(catalog_item).to receive(:tenant_id).and_return("catalog_tenant")
27
+ allow(catalog_item).to receive(:subtenant_id).and_return("catalog_subtenant")
28
28
  allow(Vra::CatalogItem).to receive(:new).and_return(catalog_item)
29
29
  end
30
30
 
31
31
  let(:client) do
32
- Vra::Client.new(username: 'user@corp.local',
33
- password: 'password',
34
- tenant: 'tenant',
35
- base_url: 'https://vra.corp.local')
32
+ Vra::Client.new(username: "user@corp.local",
33
+ password: "password",
34
+ tenant: "tenant",
35
+ base_url: "https://vra.corp.local")
36
36
  end
37
37
 
38
- context 'when no subtenant ID is provided' do
38
+ context "when no subtenant ID is provided" do
39
39
  let(:request) do
40
- client.catalog.request('catalog-12345',
40
+ client.catalog.request("catalog-12345",
41
41
  cpus: 2,
42
42
  memory: 1024,
43
43
  lease_days: 15,
44
- requested_for: 'tester@corp.local',
45
- notes: 'test notes')
44
+ requested_for: "tester@corp.local",
45
+ notes: "test notes")
46
46
  end
47
47
 
48
- it 'uses the subtenant ID from the catalog item' do
49
- expect(request.subtenant_id).to eq 'catalog_subtenant'
48
+ it "uses the subtenant ID from the catalog item" do
49
+ expect(request.subtenant_id).to eq "catalog_subtenant"
50
50
  end
51
51
  end
52
52
 
53
- context 'when subtenant is provided, and all shared tests' do
53
+ context "when subtenant is provided, and all shared tests" do
54
54
  let(:request) do
55
- client.catalog.request('catalog-12345',
55
+ client.catalog.request("catalog-12345",
56
56
  cpus: 2,
57
57
  memory: 1024,
58
58
  lease_days: 15,
59
- requested_for: 'tester@corp.local',
60
- notes: 'test notes',
61
- subtenant_id: 'user_subtenant')
59
+ requested_for: "tester@corp.local",
60
+ notes: "test notes",
61
+ subtenant_id: "user_subtenant")
62
62
  end
63
63
 
64
- describe '#initialize' do
65
- it 'sets the appropriate instance vars' do
66
- expect(request.catalog_id).to eq 'catalog-12345'
64
+ describe "#initialize" do
65
+ it "sets the appropriate instance vars" do
66
+ expect(request.catalog_id).to eq "catalog-12345"
67
67
  expect(request.cpus).to eq 2
68
68
  expect(request.memory).to eq 1024
69
69
  expect(request.lease_days).to eq 15
70
- expect(request.requested_for).to eq 'tester@corp.local'
71
- expect(request.notes).to eq 'test notes'
72
- expect(request.subtenant_id).to eq 'user_subtenant'
70
+ expect(request.requested_for).to eq "tester@corp.local"
71
+ expect(request.notes).to eq "test notes"
72
+ expect(request.subtenant_id).to eq "user_subtenant"
73
73
  end
74
74
  end
75
75
 
76
- describe '#validate_params!' do
77
- context 'when all required params are provided' do
78
- it 'does not raise an exception' do
76
+ describe "#validate_params!" do
77
+ context "when all required params are provided" do
78
+ it "does not raise an exception" do
79
79
  expect { request.validate_params! }.to_not raise_error
80
80
  end
81
81
  end
82
82
 
83
- context 'when a required parameter is not provided' do
84
- it 'raises an exception' do
83
+ context "when a required parameter is not provided" do
84
+ it "raises an exception" do
85
85
  request.cpus = nil
86
86
  expect { request.validate_params! }.to raise_error(ArgumentError)
87
87
  end
88
88
  end
89
89
  end
90
90
 
91
- describe '#merge_payload' do
92
- it 'properly handles additional parameters' do
93
- request.set_parameter('param1', 'string', 'my string')
94
- request.set_parameter('param2', 'integer', '2468')
91
+ describe "#merge_payload" do
92
+ it "properly handles additional parameters" do
93
+ request.set_parameter("param1", "string", "my string")
94
+ request.set_parameter("param2", "integer", "2468")
95
95
 
96
- template = File.read('spec/fixtures/resource/catalog_request.json')
96
+ template = File.read("spec/fixtures/resource/catalog_request.json")
97
97
  payload = JSON.parse(request.merge_payload(template))
98
- param1 = payload['data']['my_blueprint']['data']['param1']
99
- param2 = payload['data']['my_blueprint']['data']['param2']
98
+ param1 = payload["data"]["my_blueprint"]["data"]["param1"]
99
+ param2 = payload["data"]["my_blueprint"]["data"]["param2"]
100
100
 
101
101
  expect(param1).to be_a(String)
102
102
  expect(param2).to be_a(String)
103
- expect(param1).to eq 'my string'
104
- expect(param2).to eq '2468'
103
+ expect(param1).to eq "my string"
104
+ expect(param2).to eq "2468"
105
105
  end
106
106
  end
107
107
 
108
- describe '#submit' do
108
+ describe "#submit" do
109
109
  before do
110
110
  allow(request).to receive(:request_payload).and_return({})
111
- response = double('response', location: '/requests/request-12345')
112
- allow(client).to receive(:http_post).with('/catalog-service/api/consumer/requests', '{}').and_return(response)
111
+ response = double("response", location: "/requests/request-12345")
112
+ allow(client).to receive(:http_post).with("/catalog-service/api/consumer/requests", "{}").and_return(response)
113
113
  end
114
114
 
115
- it 'calls http_post' do
116
- skip 'broken and needs to be updated per changes -JJ 2017-04-14'
117
- expect(client).to receive(:http_post).with('/catalog-service/api/consumer/requests', '{}')
115
+ it "calls http_post" do
116
+ skip "broken and needs to be updated per changes -JJ 2017-04-14"
117
+ expect(client).to receive(:http_post).with("/catalog-service/api/consumer/requests", "{}")
118
118
 
119
119
  request.submit
120
120
  end
121
121
 
122
- it 'returns a Vra::Request object' do
123
- skip 'broken and needs to be updated per changes -JJ 2017-04-14'
122
+ it "returns a Vra::Request object" do
123
+ skip "broken and needs to be updated per changes -JJ 2017-04-14"
124
124
  expect(request.submit).to be_an_instance_of(Vra::Request)
125
125
  end
126
126
  end
127
127
  end
128
128
 
129
129
  let(:client_without_ssl) do
130
- Vra::Client.new(username: 'user@corp.local',
131
- password: 'password',
132
- tenant: 'tenant',
133
- base_url: 'https://vra.corp.local',
130
+ Vra::Client.new(username: "user@corp.local",
131
+ password: "password",
132
+ tenant: "tenant",
133
+ base_url: "https://vra.corp.local",
134
134
  verify_ssl: false)
135
135
  end
136
136
 
137
- context 'when ssl is not verified by the client' do
137
+ context "when ssl is not verified by the client" do
138
138
  let(:request) do
139
- client_without_ssl.catalog.request('catalog-12345',
139
+ client_without_ssl.catalog.request("catalog-12345",
140
140
  cpus: 2,
141
141
  memory: 1024,
142
142
  lease_days: 15,
143
- requested_for: 'tester@corp.local',
144
- notes: 'test notes',
145
- subtenant_id: 'user_subtenant')
143
+ requested_for: "tester@corp.local",
144
+ notes: "test notes",
145
+ subtenant_id: "user_subtenant")
146
146
  end
147
147
 
148
148
  describe do
149
- it 'passes verify_false to Vra::Http' do
150
- skip 'broken and needs to be updated per changes -JJ 2017-04-14'
149
+ it "passes verify_false to Vra::Http" do
150
+ skip "broken and needs to be updated per changes -JJ 2017-04-14"
151
151
  allow(request.client).to receive(:authorized?).and_return(true)
152
- expect(request.client.instance_variable_get('@verify_ssl')).to eq false
152
+ expect(request.client.instance_variable_get("@verify_ssl")).to eq false
153
153
 
154
154
  expect(Vra::Http).to receive(:execute).and_wrap_original do |_http, *args|
155
155
  expect(*args).to include(verify_ssl: false)
156
- double(location: 'auth/request_id')
156
+ double(location: "auth/request_id")
157
157
  end
158
158
 
159
159
  request.submit
data/spec/catalog_spec.rb CHANGED
@@ -17,78 +17,78 @@
17
17
  # limitations under the License.
18
18
  #
19
19
 
20
- require 'spec_helper'
20
+ require "spec_helper"
21
21
 
22
22
  describe Vra::Catalog do
23
23
  let(:client) do
24
- Vra::Client.new(username: 'user@corp.local',
25
- password: 'password',
26
- tenant: 'tenant',
27
- base_url: 'https://vra.corp.local')
24
+ Vra::Client.new(username: "user@corp.local",
25
+ password: "password",
26
+ tenant: "tenant",
27
+ base_url: "https://vra.corp.local")
28
28
  end
29
29
 
30
30
  let(:catalog_item) do
31
31
  {
32
- '@type' => 'CatalogItem',
33
- 'id' => 'a9cd6148-6e0b-4a80-ac47-f5255c52b43d',
34
- 'version' => 2,
35
- 'name' => 'CentOS 6.6',
36
- 'description' => 'Blueprint for deploying a CentOS Linux development server',
37
- 'status' => 'PUBLISHED',
38
- 'statusName' => 'Published',
39
- 'organization' => {
40
- 'tenantRef' => 'vsphere.local',
41
- 'tenantLabel' => 'vsphere.local',
42
- 'subtenantRef' => nil,
43
- 'subtenantLabel' => nil
32
+ "@type" => "CatalogItem",
33
+ "id" => "a9cd6148-6e0b-4a80-ac47-f5255c52b43d",
34
+ "version" => 2,
35
+ "name" => "CentOS 6.6",
36
+ "description" => "Blueprint for deploying a CentOS Linux development server",
37
+ "status" => "PUBLISHED",
38
+ "statusName" => "Published",
39
+ "organization" => {
40
+ "tenantRef" => "vsphere.local",
41
+ "tenantLabel" => "vsphere.local",
42
+ "subtenantRef" => nil,
43
+ "subtenantLabel" => nil,
44
+ },
45
+ "providerBinding" => {
46
+ "bindingId" => "33af5413-4f20-4b3b-8268-32edad434dfb",
47
+ "providerRef" => {
48
+ "id" => "c3b2bc30-47b0-454f-b57d-df02a7356fe6",
49
+ "label" => "iaas-service",
50
+ },
44
51
  },
45
- 'providerBinding' => {
46
- 'bindingId' => '33af5413-4f20-4b3b-8268-32edad434dfb',
47
- 'providerRef' => {
48
- 'id' => 'c3b2bc30-47b0-454f-b57d-df02a7356fe6',
49
- 'label' => 'iaas-service'
50
- }
51
- }
52
52
  }
53
53
  end
54
54
 
55
55
  let(:entitled_catalog_item) do
56
56
  {
57
- '@type' => 'ConsumerEntitledCatalogItem',
58
- 'catalogItem' => {
59
- 'id' => 'd29efd6b-3cd6-4f8d-b1d8-da4ddd4e52b1',
60
- 'version' => 2,
61
- 'name' => 'WindowsServer2012',
62
- 'description' => 'Windows Server 2012 with the latest updates and patches.',
63
- 'status' => 'PUBLISHED',
64
- 'statusName' => 'Published',
65
- 'organization' => {
66
- 'tenantRef' => 'vsphere.local',
67
- 'tenantLabel' => 'vsphere.local',
68
- 'subtenantRef' => nil,
69
- 'subtenantLabel' => nil
57
+ "@type" => "ConsumerEntitledCatalogItem",
58
+ "catalogItem" => {
59
+ "id" => "d29efd6b-3cd6-4f8d-b1d8-da4ddd4e52b1",
60
+ "version" => 2,
61
+ "name" => "WindowsServer2012",
62
+ "description" => "Windows Server 2012 with the latest updates and patches.",
63
+ "status" => "PUBLISHED",
64
+ "statusName" => "Published",
65
+ "organization" => {
66
+ "tenantRef" => "vsphere.local",
67
+ "tenantLabel" => "vsphere.local",
68
+ "subtenantRef" => nil,
69
+ "subtenantLabel" => nil,
70
70
  },
71
- 'providerBinding' => {
72
- 'bindingId' => '59fd02a1-acca-4918-9d3d-2298d310caef',
73
- 'providerRef' => {
74
- 'id' => 'c3b2bc30-47b0-454f-b57d-df02a7356fe6',
75
- 'label' => 'iaas-service'
76
- }
77
- }
78
- }
71
+ "providerBinding" => {
72
+ "bindingId" => "59fd02a1-acca-4918-9d3d-2298d310caef",
73
+ "providerRef" => {
74
+ "id" => "c3b2bc30-47b0-454f-b57d-df02a7356fe6",
75
+ "label" => "iaas-service",
76
+ },
77
+ },
78
+ },
79
79
  }
80
80
  end
81
81
 
82
- describe '#all_items' do
83
- it 'calls the catalogItems endpoint' do
84
- expect(client).to receive(:http_get_paginated_array!).with('/catalog-service/api/consumer/catalogItems')
82
+ describe "#all_items" do
83
+ it "calls the catalogItems endpoint" do
84
+ expect(client).to receive(:http_get_paginated_array!).with("/catalog-service/api/consumer/catalogItems")
85
85
  .and_return([ catalog_item ])
86
86
 
87
87
  client.catalog.all_items
88
88
  end
89
89
 
90
- it 'returns a Vra::CatalogItem object' do
91
- allow(client).to receive(:http_get_paginated_array!).with('/catalog-service/api/consumer/catalogItems')
90
+ it "returns a Vra::CatalogItem object" do
91
+ allow(client).to receive(:http_get_paginated_array!).with("/catalog-service/api/consumer/catalogItems")
92
92
  .and_return([ catalog_item ])
93
93
 
94
94
  items = client.catalog.all_items
@@ -97,16 +97,16 @@ describe Vra::Catalog do
97
97
  end
98
98
  end
99
99
 
100
- describe '#entitled_items' do
101
- it 'calls the entitledCatalogItems endpoint' do
102
- expect(client).to receive(:http_get_paginated_array!).with('/catalog-service/api/consumer/entitledCatalogItems')
100
+ describe "#entitled_items" do
101
+ it "calls the entitledCatalogItems endpoint" do
102
+ expect(client).to receive(:http_get_paginated_array!).with("/catalog-service/api/consumer/entitledCatalogItems")
103
103
  .and_return([ entitled_catalog_item ])
104
104
 
105
105
  client.catalog.entitled_items
106
106
  end
107
107
 
108
- it 'returns a Vra::CatalogItem object' do
109
- allow(client).to receive(:http_get_paginated_array!).with('/catalog-service/api/consumer/entitledCatalogItems')
108
+ it "returns a Vra::CatalogItem object" do
109
+ allow(client).to receive(:http_get_paginated_array!).with("/catalog-service/api/consumer/entitledCatalogItems")
110
110
  .and_return([ entitled_catalog_item ])
111
111
 
112
112
  items = client.catalog.entitled_items
@@ -115,10 +115,10 @@ describe Vra::Catalog do
115
115
  end
116
116
  end
117
117
 
118
- describe '#request' do
119
- it 'returns a new Vra::CatalogRequest object' do
118
+ describe "#request" do
119
+ it "returns a new Vra::CatalogRequest object" do
120
120
  allow(Vra::CatalogItem).to receive(:new)
121
- request = client.catalog.request('blueprint-1', cpus: 2)
121
+ request = client.catalog.request("blueprint-1", cpus: 2)
122
122
  expect(request).to be_an_instance_of(Vra::CatalogRequest)
123
123
  end
124
124
  end
data/spec/client_spec.rb CHANGED
@@ -17,65 +17,65 @@
17
17
  # limitations under the License.
18
18
  #
19
19
 
20
- require 'spec_helper'
20
+ require "spec_helper"
21
21
 
22
22
  describe Vra::Client do
23
23
  let(:client) do
24
- Vra::Client.new(username: 'user@corp.local',
25
- password: 'password',
26
- tenant: 'tenant',
27
- base_url: 'https://vra.corp.local')
24
+ Vra::Client.new(username: "user@corp.local",
25
+ password: "password",
26
+ tenant: "tenant",
27
+ base_url: "https://vra.corp.local")
28
28
  end
29
29
 
30
- describe '#initialize' do
31
- it 'calls validate_client_options!' do
30
+ describe "#initialize" do
31
+ it "calls validate_client_options!" do
32
32
  client = Vra::Client.allocate
33
33
  expect(client).to receive(:validate_client_options!)
34
- client.send(:initialize, username: 'user@corp.local',
35
- password: 'password',
36
- tenant: 'tenant',
37
- base_url: 'https://vra.corp.local')
34
+ client.send(:initialize, username: "user@corp.local",
35
+ password: "password",
36
+ tenant: "tenant",
37
+ base_url: "https://vra.corp.local")
38
38
  end
39
39
  end
40
40
 
41
- describe '#bearer_token_request_body' do
42
- it 'gets the correct password from the PasswordMasker object' do
43
- expect(client.bearer_token_request_body['password']).to eq('password')
41
+ describe "#bearer_token_request_body" do
42
+ it "gets the correct password from the PasswordMasker object" do
43
+ expect(client.bearer_token_request_body["password"]).to eq("password")
44
44
  end
45
45
  end
46
46
 
47
- describe '#request_headers' do
48
- context 'when bearer token exists' do
49
- it 'has an Authorization header' do
50
- client.bearer_token = '12345'
51
- expect(client.request_headers.key?('Authorization')).to be true
47
+ describe "#request_headers" do
48
+ context "when bearer token exists" do
49
+ it "has an Authorization header" do
50
+ client.bearer_token = "12345"
51
+ expect(client.request_headers.key?("Authorization")).to be true
52
52
  end
53
53
  end
54
54
 
55
- context 'when bearer token does not exist' do
56
- it 'has an Authorization header' do
57
- expect(client.request_headers.key?('Authorization')).to be false
55
+ context "when bearer token does not exist" do
56
+ it "has an Authorization header" do
57
+ expect(client.request_headers.key?("Authorization")).to be false
58
58
  end
59
59
  end
60
60
  end
61
61
 
62
- describe '#authorize!' do
63
- context 'when a token is not authorized or no token exists' do
64
- it 'generates a token successfully' do
62
+ describe "#authorize!" do
63
+ context "when a token is not authorized or no token exists" do
64
+ it "generates a token successfully" do
65
65
  allow(client).to receive(:authorized?).twice.and_return(false, true)
66
66
  expect(client).to receive(:generate_bearer_token)
67
67
 
68
68
  client.authorize!
69
69
  end
70
70
 
71
- it 'raises an exception if token generation fails' do
71
+ it "raises an exception if token generation fails" do
72
72
  allow(client).to receive(:authorized?).and_return(false)
73
73
  allow(client).to receive(:generate_bearer_token).and_raise(Vra::Exception::Unauthorized)
74
74
 
75
75
  expect { client.authorize! }.to raise_error(Vra::Exception::Unauthorized)
76
76
  end
77
77
 
78
- it 'raises an exception if a generated token is unauthorized' do
78
+ it "raises an exception if a generated token is unauthorized" do
79
79
  allow(client).to receive(:authorized).twice.and_return(false, false)
80
80
  allow(client).to receive(:generate_bearer_token)
81
81
 
@@ -83,8 +83,8 @@ describe Vra::Client do
83
83
  end
84
84
  end
85
85
 
86
- context 'when a token is authorized' do
87
- it 'does not generate a new token' do
86
+ context "when a token is authorized" do
87
+ it "does not generate a new token" do
88
88
  allow(client).to receive(:authorized?).and_return(true)
89
89
  expect(client).to_not receive(:generate_bearer_token)
90
90
 
@@ -93,27 +93,27 @@ describe Vra::Client do
93
93
  end
94
94
  end
95
95
 
96
- describe '#authorized?' do
97
- context 'when token does not exist' do
98
- it 'returns false' do
96
+ describe "#authorized?" do
97
+ context "when token does not exist" do
98
+ it "returns false" do
99
99
  expect(client.authorized?).to be false
100
100
  end
101
101
  end
102
102
 
103
- context 'when token exists' do
103
+ context "when token exists" do
104
104
  before(:each) do
105
- client.bearer_token = '12345'
105
+ client.bearer_token = "12345"
106
106
  end
107
107
 
108
- it 'returns true if the token validates successfully' do
109
- response = double('response', success_no_content?: true, code: 204)
108
+ it "returns true if the token validates successfully" do
109
+ response = double("response", success_no_content?: true, code: 204)
110
110
  allow(Vra::Http).to receive(:execute).and_return(response)
111
111
 
112
112
  expect(client.authorized?).to be true
113
113
  end
114
114
 
115
- it 'returns false if the token validates unsuccessfully' do
116
- response = double('response', success_no_content?: false, code: 500)
115
+ it "returns false if the token validates unsuccessfully" do
116
+ response = double("response", success_no_content?: false, code: 500)
117
117
  allow(Vra::Http).to receive(:execute).and_return(response)
118
118
 
119
119
  expect(client.authorized?).to be false
@@ -121,18 +121,18 @@ describe Vra::Client do
121
121
  end
122
122
  end
123
123
 
124
- describe '#generate_bearer_token' do
124
+ describe "#generate_bearer_token" do
125
125
  payload = {
126
- 'username' => 'user@corp.local',
127
- 'password' => 'password',
128
- 'tenant' => 'tenant'
126
+ "username" => "user@corp.local",
127
+ "password" => "password",
128
+ "tenant" => "tenant",
129
129
  }.to_json
130
130
 
131
- it 'posts to the tokens API endpoint' do
132
- response = double('response', code: 200, body: '{"id":"12345"}', success_ok?: true)
131
+ it "posts to the tokens API endpoint" do
132
+ response = double("response", code: 200, body: '{"id":"12345"}', success_ok?: true)
133
133
  expect(Vra::Http).to receive(:execute)
134
134
  .with(method: :post,
135
- url: client.full_url('/identity/api/tokens'),
135
+ url: client.full_url("/identity/api/tokens"),
136
136
  payload: payload,
137
137
  headers: anything,
138
138
  verify_ssl: true)
@@ -141,20 +141,20 @@ describe Vra::Client do
141
141
  client.generate_bearer_token
142
142
  end
143
143
 
144
- context 'when token is generated successfully' do
145
- it 'sets the token' do
146
- response = double('response', code: 200, body: '{"id":"12345"}', success_ok?: true)
144
+ context "when token is generated successfully" do
145
+ it "sets the token" do
146
+ response = double("response", code: 200, body: '{"id":"12345"}', success_ok?: true)
147
147
  allow(Vra::Http).to receive(:execute).and_return(response)
148
148
 
149
149
  client.generate_bearer_token
150
150
 
151
- expect(client.bearer_token).to eq '12345'
151
+ expect(client.bearer_token).to eq "12345"
152
152
  end
153
153
  end
154
154
 
155
- context 'when token is not generated successfully' do
156
- it 'raises an exception' do
157
- response = double('response', code: 500, body: 'error string', success_ok?: false)
155
+ context "when token is not generated successfully" do
156
+ it "raises an exception" do
157
+ response = double("response", code: 500, body: "error string", success_ok?: false)
158
158
  allow(Vra::Http).to receive(:execute).and_return(response)
159
159
 
160
160
  expect { client.generate_bearer_token }.to raise_error(Vra::Exception::Unauthorized)
@@ -162,38 +162,38 @@ describe Vra::Client do
162
162
  end
163
163
  end
164
164
 
165
- describe '#full_url' do
166
- it 'returns a properly formatted url' do
167
- expect(client.full_url('/mypath')).to eq 'https://vra.corp.local/mypath'
165
+ describe "#full_url" do
166
+ it "returns a properly formatted url" do
167
+ expect(client.full_url("/mypath")).to eq "https://vra.corp.local/mypath"
168
168
  end
169
169
  end
170
170
 
171
- describe '#http_head' do
172
- context 'when skip_auth is nil' do
173
- it 'authorizes before proceeding' do
174
- response = double('response')
171
+ describe "#http_head" do
172
+ context "when skip_auth is nil" do
173
+ it "authorizes before proceeding" do
174
+ response = double("response")
175
175
  allow(Vra::Http).to receive(:execute).and_return(response)
176
176
  expect(client).to receive(:authorize!)
177
177
 
178
- client.http_head('/test')
178
+ client.http_head("/test")
179
179
  end
180
180
  end
181
181
 
182
- context 'when skip_auth is not nil' do
183
- it 'does not authorize before proceeding' do
184
- response = double('response')
182
+ context "when skip_auth is not nil" do
183
+ it "does not authorize before proceeding" do
184
+ response = double("response")
185
185
  allow(Vra::Http).to receive(:execute).and_return(response)
186
186
  expect(client).to_not receive(:authorize!)
187
187
 
188
- client.http_head('/test', :skip_auth)
188
+ client.http_head("/test", :skip_auth)
189
189
  end
190
190
  end
191
191
 
192
- it 'calls Vra::Http.execute' do
193
- response = double('response')
194
- path = '/test'
195
- full_url = 'https://vra.corp.local/test'
196
- headers = { 'Accept' => 'application/json', 'Content-Type' => 'application/json' }
192
+ it "calls Vra::Http.execute" do
193
+ response = double("response")
194
+ path = "/test"
195
+ full_url = "https://vra.corp.local/test"
196
+ headers = { "Accept" => "application/json", "Content-Type" => "application/json" }
197
197
  verify_ssl = true
198
198
 
199
199
  allow(client).to receive(:authorize!)
@@ -206,41 +206,41 @@ describe Vra::Client do
206
206
  client.http_head(path)
207
207
  end
208
208
 
209
- it 'raises an HTTPNotFound on a 404 error' do
209
+ it "raises an HTTPNotFound on a 404 error" do
210
210
  allow(client).to receive(:authorize!)
211
211
  allow(Vra::Http).to receive(:execute)
212
- .and_raise(Vra::Http::Error.new('message', 404, 'Not Found'))
212
+ .and_raise(Vra::Http::Error.new("message", 404, "Not Found"))
213
213
 
214
- expect { client.http_head('/404') }.to raise_error(Vra::Exception::HTTPNotFound)
214
+ expect { client.http_head("/404") }.to raise_error(Vra::Exception::HTTPNotFound)
215
215
  end
216
216
  end
217
217
 
218
- describe '#http_get' do
219
- context 'when skip_auth is nil' do
220
- it 'authorizes before proceeding' do
221
- response = double('response')
218
+ describe "#http_get" do
219
+ context "when skip_auth is nil" do
220
+ it "authorizes before proceeding" do
221
+ response = double("response")
222
222
  allow(Vra::Http).to receive(:execute).and_return(response)
223
223
  expect(client).to receive(:authorize!)
224
224
 
225
- client.http_get('/test')
225
+ client.http_get("/test")
226
226
  end
227
227
  end
228
228
 
229
- context 'when skip_auth is not nil' do
230
- it 'does not authorize before proceeding' do
231
- response = double('response')
229
+ context "when skip_auth is not nil" do
230
+ it "does not authorize before proceeding" do
231
+ response = double("response")
232
232
  allow(Vra::Http).to receive(:execute).and_return(response)
233
233
  expect(client).to_not receive(:authorize!)
234
234
 
235
- client.http_get('/test', :skip_auth)
235
+ client.http_get("/test", :skip_auth)
236
236
  end
237
237
  end
238
238
 
239
- it 'calls Vra::Http.execute' do
240
- response = double('response')
241
- path = '/test'
242
- full_url = 'https://vra.corp.local/test'
243
- headers = { 'Accept' => 'application/json', 'Content-Type' => 'application/json' }
239
+ it "calls Vra::Http.execute" do
240
+ response = double("response")
241
+ path = "/test"
242
+ full_url = "https://vra.corp.local/test"
243
+ headers = { "Accept" => "application/json", "Content-Type" => "application/json" }
244
244
  verify_ssl = true
245
245
 
246
246
  allow(client).to receive(:authorize!)
@@ -253,93 +253,93 @@ describe Vra::Client do
253
253
  client.http_get(path)
254
254
  end
255
255
 
256
- it 'raises an HTTPNotFound on a 404 error' do
256
+ it "raises an HTTPNotFound on a 404 error" do
257
257
  allow(client).to receive(:authorize!)
258
258
  allow(Vra::Http).to receive(:execute)
259
- .and_raise(Vra::Http::Error.new('message', 404, 'Not Found'))
259
+ .and_raise(Vra::Http::Error.new("message", 404, "Not Found"))
260
260
 
261
- expect { client.http_get('/404') }.to raise_error(Vra::Exception::HTTPNotFound)
261
+ expect { client.http_get("/404") }.to raise_error(Vra::Exception::HTTPNotFound)
262
262
  end
263
263
  end
264
264
 
265
- describe '#http_get_paginated_array!' do
266
- it 'allows a limit override' do
265
+ describe "#http_get_paginated_array!" do
266
+ it "allows a limit override" do
267
267
  client.page_size = 10
268
268
  expect(client).to receive(:get_parsed)
269
- .with('/test?limit=10&page=1')
270
- .and_return('content' => [], 'metadata' => { 'totalPages' => 1 })
269
+ .with("/test?limit=10&page=1")
270
+ .and_return("content" => [], "metadata" => { "totalPages" => 1 })
271
271
 
272
- client.http_get_paginated_array!('/test')
272
+ client.http_get_paginated_array!("/test")
273
273
  end
274
274
 
275
- it 'only calls get_parsed once when total pages is 0 (no items)' do
275
+ it "only calls get_parsed once when total pages is 0 (no items)" do
276
276
  expect(client).to receive(:get_parsed)
277
277
  .once
278
- .with('/test?limit=20&page=1')
279
- .and_return('content' => [], 'metadata' => { 'totalPages' => 0 })
278
+ .with("/test?limit=20&page=1")
279
+ .and_return("content" => [], "metadata" => { "totalPages" => 0 })
280
280
 
281
- client.http_get_paginated_array!('/test')
281
+ client.http_get_paginated_array!("/test")
282
282
  end
283
283
 
284
- it 'only calls get_parsed once when total pages is 1' do
284
+ it "only calls get_parsed once when total pages is 1" do
285
285
  expect(client).to receive(:get_parsed)
286
286
  .once
287
- .with('/test?limit=20&page=1')
288
- .and_return('content' => [], 'metadata' => { 'totalPages' => 1 })
287
+ .with("/test?limit=20&page=1")
288
+ .and_return("content" => [], "metadata" => { "totalPages" => 1 })
289
289
 
290
- client.http_get_paginated_array!('/test')
290
+ client.http_get_paginated_array!("/test")
291
291
  end
292
292
 
293
- it 'calls get_parsed 3 times if there are 3 pages of response' do
293
+ it "calls get_parsed 3 times if there are 3 pages of response" do
294
294
  expect(client).to receive(:get_parsed)
295
- .with('/test?limit=20&page=1')
296
- .and_return('content' => [], 'metadata' => { 'totalPages' => 3 })
295
+ .with("/test?limit=20&page=1")
296
+ .and_return("content" => [], "metadata" => { "totalPages" => 3 })
297
297
  expect(client).to receive(:get_parsed)
298
- .with('/test?limit=20&page=2')
299
- .and_return('content' => [], 'metadata' => { 'totalPages' => 3 })
298
+ .with("/test?limit=20&page=2")
299
+ .and_return("content" => [], "metadata" => { "totalPages" => 3 })
300
300
  expect(client).to receive(:get_parsed)
301
- .with('/test?limit=20&page=3')
302
- .and_return('content' => [], 'metadata' => { 'totalPages' => 3 })
301
+ .with("/test?limit=20&page=3")
302
+ .and_return("content" => [], "metadata" => { "totalPages" => 3 })
303
303
 
304
- client.http_get_paginated_array!('/test')
304
+ client.http_get_paginated_array!("/test")
305
305
  end
306
306
 
307
- it 'raises an exception if duplicate items are returned by the API' do
307
+ it "raises an exception if duplicate items are returned by the API" do
308
308
  allow(client).to receive(:get_parsed)
309
- .with('/test?limit=20&page=1')
310
- .and_return('content' => [ 1, 2, 3, 1 ], 'metadata' => { 'totalPages' => 1 })
309
+ .with("/test?limit=20&page=1")
310
+ .and_return("content" => [ 1, 2, 3, 1 ], "metadata" => { "totalPages" => 1 })
311
311
 
312
- expect { client.http_get_paginated_array!('/test') }.to raise_error(Vra::Exception::DuplicateItemsDetected)
312
+ expect { client.http_get_paginated_array!("/test") }.to raise_error(Vra::Exception::DuplicateItemsDetected)
313
313
  end
314
314
  end
315
315
 
316
- describe '#http_post' do
317
- context 'when skip_auth is nil' do
318
- it 'authorizes before proceeding' do
319
- response = double('response')
316
+ describe "#http_post" do
317
+ context "when skip_auth is nil" do
318
+ it "authorizes before proceeding" do
319
+ response = double("response")
320
320
  allow(Vra::Http).to receive(:execute).and_return(response)
321
321
  expect(client).to receive(:authorize!)
322
322
 
323
- client.http_post('/test', 'some payload')
323
+ client.http_post("/test", "some payload")
324
324
  end
325
325
  end
326
326
 
327
- context 'when skip_auth is not nil' do
328
- it 'does not authorize before proceeding' do
329
- response = double('response')
327
+ context "when skip_auth is not nil" do
328
+ it "does not authorize before proceeding" do
329
+ response = double("response")
330
330
  allow(Vra::Http).to receive(:execute).and_return(response)
331
331
  expect(client).to_not receive(:authorize!)
332
332
 
333
- client.http_post('/test', 'some payload', :skip_auth)
333
+ client.http_post("/test", "some payload", :skip_auth)
334
334
  end
335
335
  end
336
336
 
337
- it 'calls Vra::Http.execute' do
338
- response = double('response')
339
- path = '/test'
340
- full_url = 'https://vra.corp.local/test'
341
- headers = { 'Accept' => 'application/json', 'Content-Type' => 'application/json' }
342
- payload = 'some payload'
337
+ it "calls Vra::Http.execute" do
338
+ response = double("response")
339
+ path = "/test"
340
+ full_url = "https://vra.corp.local/test"
341
+ headers = { "Accept" => "application/json", "Content-Type" => "application/json" }
342
+ payload = "some payload"
343
343
  verify_ssl = true
344
344
 
345
345
  allow(client).to receive(:authorize!)
@@ -353,12 +353,12 @@ describe Vra::Client do
353
353
  client.http_post(path, payload)
354
354
  end
355
355
 
356
- context 'when not verifying ssl' do
356
+ context "when not verifying ssl" do
357
357
  let(:unverified_client) do
358
- Vra::Client.new(username: 'user@corp.local',
359
- password: 'password',
360
- tenant: 'tenant',
361
- base_url: 'https://vra.corp.local',
358
+ Vra::Client.new(username: "user@corp.local",
359
+ password: "password",
360
+ tenant: "tenant",
361
+ base_url: "https://vra.corp.local",
362
362
  verify_ssl: false)
363
363
  end
364
364
 
@@ -366,130 +366,130 @@ describe Vra::Client do
366
366
  allow(unverified_client).to receive(:authorized?).and_return(true)
367
367
  end
368
368
 
369
- it 'configures Net::HTTP with VERIFY_NONE' do
369
+ it "configures Net::HTTP with VERIFY_NONE" do
370
370
  allow(Net::HTTP).to receive(:start).and_wrap_original do |_http, *args|
371
371
  expect(args.last).to include(verify_mode: OpenSSL::SSL::VERIFY_NONE)
372
- double('response', final?: true, success?: true)
372
+ double("response", final?: true, success?: true)
373
373
  end
374
374
 
375
- unverified_client.http_post('/path', 'payload')
375
+ unverified_client.http_post("/path", "payload")
376
376
 
377
377
  [:head, :get].each do |method|
378
- unverified_client.http_fetch(method, '/test', true)
378
+ unverified_client.http_fetch(method, "/test", true)
379
379
  end
380
380
  end
381
381
  end
382
382
 
383
- it 'calls raise_http_exception upon error' do
383
+ it "calls raise_http_exception upon error" do
384
384
  allow(client).to receive(:authorize!)
385
385
  allow(Vra::Http).to receive(:execute).and_raise(StandardError)
386
386
  expect(client).to receive(:raise_http_exception)
387
387
 
388
- client.http_post('/404', 'test payload')
388
+ client.http_post("/404", "test payload")
389
389
  end
390
390
  end
391
391
 
392
- describe '#http_post!' do
393
- it 'returns the response body' do
394
- response = double('response', body: 'body text')
395
- allow(client).to receive(:http_post).with('/test', 'test payload').and_return(response)
392
+ describe "#http_post!" do
393
+ it "returns the response body" do
394
+ response = double("response", body: "body text")
395
+ allow(client).to receive(:http_post).with("/test", "test payload").and_return(response)
396
396
 
397
- expect(client.http_post!('/test', 'test payload')).to eq 'body text'
397
+ expect(client.http_post!("/test", "test payload")).to eq "body text"
398
398
  end
399
399
  end
400
400
 
401
- describe '#raise_http_exception' do
402
- context 'when a 404 is received' do
401
+ describe "#raise_http_exception" do
402
+ context "when a 404 is received" do
403
403
  let(:exception) do
404
- double('RestClient::ResourceNotFound',
404
+ double("RestClient::ResourceNotFound",
405
405
  http_code: 404,
406
- message: 'Not Found',
407
- response: '404 Not Found')
406
+ message: "Not Found",
407
+ response: "404 Not Found")
408
408
  end
409
409
 
410
- it 'raises a Vra::Exception::HTTPNotFound exception' do
411
- expect { client.raise_http_exception(exception, '/test') }.to raise_error(Vra::Exception::HTTPNotFound)
410
+ it "raises a Vra::Exception::HTTPNotFound exception" do
411
+ expect { client.raise_http_exception(exception, "/test") }.to raise_error(Vra::Exception::HTTPNotFound)
412
412
  end
413
413
  end
414
414
 
415
- context 'when an unspecified http error is received' do
415
+ context "when an unspecified http error is received" do
416
416
  let(:exception) do
417
- double('RestClient::BadRequest',
417
+ double("RestClient::BadRequest",
418
418
  http_code: 400,
419
- message: 'Bad Request',
420
- response: '400 Bad Request')
419
+ message: "Bad Request",
420
+ response: "400 Bad Request")
421
421
  end
422
422
 
423
- it 'raises a Vra::Exception::HTTPError exception' do
424
- expect { client.raise_http_exception(exception, '/test') }.to raise_error(Vra::Exception::HTTPError)
423
+ it "raises a Vra::Exception::HTTPError exception" do
424
+ expect { client.raise_http_exception(exception, "/test") }.to raise_error(Vra::Exception::HTTPError)
425
425
  end
426
426
  end
427
427
  end
428
428
 
429
- describe '#validate_client_options!' do
430
- context 'when all required options are supplied' do
431
- it 'does not raise an exception' do
429
+ describe "#validate_client_options!" do
430
+ context "when all required options are supplied" do
431
+ it "does not raise an exception" do
432
432
  expect { client.validate_client_options! }.not_to raise_error
433
433
  end
434
434
  end
435
435
 
436
- context 'when username is missing' do
436
+ context "when username is missing" do
437
437
  let(:client) do
438
- Vra::Client.new(password: 'password',
439
- tenant: 'tenant',
440
- base_url: 'https://vra.corp.local')
438
+ Vra::Client.new(password: "password",
439
+ tenant: "tenant",
440
+ base_url: "https://vra.corp.local")
441
441
  end
442
442
 
443
- it 'raises an exception' do
443
+ it "raises an exception" do
444
444
  expect { client.validate_client_options! }.to raise_error(ArgumentError)
445
445
  end
446
446
  end
447
447
 
448
- context 'when password is missing' do
448
+ context "when password is missing" do
449
449
  let(:client) do
450
- Vra::Client.new(username: 'username',
451
- tenant: 'tenant',
452
- base_url: 'https://vra.corp.local')
450
+ Vra::Client.new(username: "username",
451
+ tenant: "tenant",
452
+ base_url: "https://vra.corp.local")
453
453
  end
454
454
 
455
- it 'raises an exception' do
455
+ it "raises an exception" do
456
456
  expect { client.validate_client_options! }.to raise_error(ArgumentError)
457
457
  end
458
458
  end
459
459
 
460
- context 'when tenant is missing' do
460
+ context "when tenant is missing" do
461
461
  let(:client) do
462
- Vra::Client.new(username: 'username',
463
- password: 'password',
464
- base_url: 'https://vra.corp.local')
462
+ Vra::Client.new(username: "username",
463
+ password: "password",
464
+ base_url: "https://vra.corp.local")
465
465
  end
466
466
 
467
- it 'raises an exception' do
467
+ it "raises an exception" do
468
468
  expect { client.validate_client_options! }.to raise_error(ArgumentError)
469
469
  end
470
470
  end
471
471
 
472
- context 'when base URL is missing' do
472
+ context "when base URL is missing" do
473
473
  let(:client) do
474
- Vra::Client.new(username: 'username',
475
- password: 'password',
476
- tenant: 'tenant')
474
+ Vra::Client.new(username: "username",
475
+ password: "password",
476
+ tenant: "tenant")
477
477
  end
478
478
 
479
- it 'raises an exception' do
479
+ it "raises an exception" do
480
480
  expect { client.validate_client_options! }.to raise_error(ArgumentError)
481
481
  end
482
482
  end
483
483
 
484
- context 'when base URL is not a valid HTTP URL' do
484
+ context "when base URL is not a valid HTTP URL" do
485
485
  let(:client) do
486
- Vra::Client.new(username: 'username',
487
- password: 'password',
488
- tenant: 'tenant',
489
- base_url: 'something-that-is-not-a-HTTP-URI')
486
+ Vra::Client.new(username: "username",
487
+ password: "password",
488
+ tenant: "tenant",
489
+ base_url: "something-that-is-not-a-HTTP-URI")
490
490
  end
491
491
 
492
- it 'raises an exception' do
492
+ it "raises an exception" do
493
493
  expect { client.validate_client_options! }.to raise_error(ArgumentError)
494
494
  end
495
495
  end