vmware-vra 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c44d1d09f07fe9362fd1ee9525a39a128612e60
4
- data.tar.gz: 6d006f1b9ca2462fd5610ac5a7c2ab2499d65ffd
3
+ metadata.gz: 9a95564d2590ee0f93b6272ef8e8386eb13d663e
4
+ data.tar.gz: 84d7e4d120acc8fb7541d4182114c207b782022d
5
5
  SHA512:
6
- metadata.gz: 91503ac793261088fbf81b35397d4862bdf3fc2ff07e6faecbf53a9bfd534e7d45f87b17412c0f30d6758828cb1a1dd5ef58ed75c371b35edb7c4ade8e270e6f
7
- data.tar.gz: 2baebf8a4899ebd3d916f3ee2ebbc0eb0bd7e5932760f5fb34c59a304c1e616ca3945e0e4f2f2c65d682b833df9838b542b51cd6df3ca98e40ee50a94778d31d
6
+ metadata.gz: 0775d7bb8f539da6bfe3aa9be13b9c17aa6cb1264eea321f5e7e41a5b36067c1fd74e0496ab36ee3318ef1769cf5e89ab003ca10b5d8358bcbb82ef128ea8047
7
+ data.tar.gz: 53355353cc910092bbd47ed48cf56c27c4399029f4dc9701a1335f7012387012db2416bb8c955de07d5d46dab4c032f88de9966acfb7cdc466d86310747b592f
data/lib/vra/resource.rb CHANGED
@@ -86,6 +86,14 @@ module Vra
86
86
  @resource_data['catalogItem']['label']
87
87
  end
88
88
 
89
+ def owner_ids
90
+ @resource_data['owners'].map { |x| x['ref'] }
91
+ end
92
+
93
+ def owner_names
94
+ @resource_data['owners'].map { |x| x['value'] }
95
+ end
96
+
89
97
  def network_interfaces
90
98
  return unless vm?
91
99
 
data/lib/vra/version.rb CHANGED
@@ -17,5 +17,5 @@
17
17
  #
18
18
 
19
19
  module Vra
20
- VERSION = '1.0.0.rc1'
20
+ VERSION = '1.0.0.rc2'
21
21
  end
@@ -13,6 +13,10 @@
13
13
  "subtenantRef": "5327ddd3-1a4e-4663-9e9d-63db86ffc8af",
14
14
  "subtenantLabel": "Rainpole Developers"
15
15
  },
16
+ "owners": [
17
+ {"tenantName": "vsphere.local", "ref": "user1@corp.local", "type": "USER", "value": "Joe User"},
18
+ {"tenantName": "vsphere.local", "ref": "user2@corp.local", "type": "USER", "value": "Jane User"}
19
+ ],
16
20
  "operations": [
17
21
  {
18
22
  "name": "Change Lease",
@@ -85,59 +85,69 @@ describe Vra::Resource do
85
85
  end
86
86
 
87
87
  context 'when a valid VM resource instance has been created' do
88
- before(:each) do
89
- @resource = Vra::Resource.new(client, data: vm_payload)
90
- end
88
+ let(:resource) { Vra::Resource.new(client, data: vm_payload) }
91
89
 
92
90
  describe '#name' do
93
91
  it 'returns the correct name' do
94
- expect(@resource.name).to eq 'hol-dev-11'
92
+ expect(resource.name).to eq 'hol-dev-11'
95
93
  end
96
94
  end
97
95
 
98
96
  describe '#status' do
99
97
  it 'returns the correct status' do
100
- expect(@resource.status).to eq 'ACTIVE'
98
+ expect(resource.status).to eq 'ACTIVE'
101
99
  end
102
100
  end
103
101
 
104
102
  describe '#vm?' do
105
103
  it 'returns true for the VM resource we created' do
106
- expect(@resource.vm?).to be true
104
+ expect(resource.vm?).to be true
107
105
  end
108
106
  end
109
107
 
110
108
  describe '#tenant_id' do
111
109
  it 'returns the correct tenant ID' do
112
- expect(@resource.tenant_id).to eq 'vsphere.local'
110
+ expect(resource.tenant_id).to eq 'vsphere.local'
113
111
  end
114
112
  end
115
113
 
116
114
  describe '#tenant_name' do
117
115
  it 'returns the correct tenant name' do
118
- expect(@resource.tenant_name).to eq 'vsphere.local'
116
+ expect(resource.tenant_name).to eq 'vsphere.local'
119
117
  end
120
118
  end
121
119
 
122
120
  describe '#subtenant_id' do
123
121
  it 'returns the correct subtenant ID' do
124
- expect(@resource.subtenant_id).to eq '5327ddd3-1a4e-4663-9e9d-63db86ffc8af'
122
+ expect(resource.subtenant_id).to eq '5327ddd3-1a4e-4663-9e9d-63db86ffc8af'
125
123
  end
126
124
  end
127
125
 
128
126
  describe '#subtenant_name' do
129
127
  it 'returns the correct subtenant name' do
130
- expect(@resource.subtenant_name).to eq 'Rainpole Developers'
128
+ expect(resource.subtenant_name).to eq 'Rainpole Developers'
129
+ end
130
+ end
131
+
132
+ describe '#owner_ids' do
133
+ it 'returns the correct owner IDs' do
134
+ expect(resource.owner_ids).to eq %w(user1@corp.local user2@corp.local)
135
+ end
136
+ end
137
+
138
+ describe '#owner_names' do
139
+ it 'returns the correct owner names' do
140
+ expect(resource.owner_names).to eq [ 'Joe User', 'Jane User' ]
131
141
  end
132
142
  end
133
143
 
134
144
  describe '#network_interfaces' do
135
145
  it 'returns an array of 2 elements' do
136
- expect(@resource.network_interfaces.size).to be 2
146
+ expect(resource.network_interfaces.size).to be 2
137
147
  end
138
148
 
139
149
  it 'contains the correct data' do
140
- nic1, nic2 = @resource.network_interfaces
150
+ nic1, nic2 = resource.network_interfaces
141
151
 
142
152
  expect(nic1['NETWORK_NAME']).to eq 'VM Network'
143
153
  expect(nic1['NETWORK_ADDRESS']).to eq '192.168.110.200'
@@ -151,58 +161,58 @@ describe Vra::Resource do
151
161
 
152
162
  describe '#ip_addresses' do
153
163
  it 'returns the correct IP addresses' do
154
- expect(@resource.ip_addresses).to eq [ '192.168.110.200', '192.168.220.200' ]
164
+ expect(resource.ip_addresses).to eq [ '192.168.110.200', '192.168.220.200' ]
155
165
  end
156
166
 
157
167
  it 'returns nil if there are no network interfaces' do
158
- allow(@resource).to receive(:network_interfaces).and_return nil
159
- expect(@resource.ip_addresses).to be_nil
168
+ allow(resource).to receive(:network_interfaces).and_return nil
169
+ expect(resource.ip_addresses).to be_nil
160
170
  end
161
171
  end
162
172
 
163
173
  describe '#actions' do
164
174
  it 'does not call #fetch_resource_data' do
165
- expect(@resource).not_to receive(:fetch_resource_data)
166
- @resource.actions
175
+ expect(resource).not_to receive(:fetch_resource_data)
176
+ resource.actions
167
177
  end
168
178
  end
169
179
 
170
180
  describe '#action_id_by_name' do
171
181
  it 'returns the correct action ID for the destroy action' do
172
- expect(@resource.action_id_by_name('Destroy')).to eq 'ace8ba42-e724-48d8-9614-9b3a62b5a464'
182
+ expect(resource.action_id_by_name('Destroy')).to eq 'ace8ba42-e724-48d8-9614-9b3a62b5a464'
173
183
  end
174
184
 
175
185
  it 'returns nil if there are no resource operations' do
176
- allow(@resource).to receive(:actions).and_return nil
177
- expect(@resource.action_id_by_name('Destroy')).to be_nil
186
+ allow(resource).to receive(:actions).and_return nil
187
+ expect(resource.action_id_by_name('Destroy')).to be_nil
178
188
  end
179
189
 
180
190
  it 'returns nil if there are actions, but none with the right name' do
181
- allow(@resource).to receive(:actions).and_return([ { 'name' => 'some action' }, { 'name' => 'another action' } ])
182
- expect(@resource.action_id_by_name('Destroy')).to be_nil
191
+ allow(resource).to receive(:actions).and_return([ { 'name' => 'some action' }, { 'name' => 'another action' } ])
192
+ expect(resource.action_id_by_name('Destroy')).to be_nil
183
193
  end
184
194
  end
185
195
 
186
196
  describe '#destroy' do
187
197
  context 'when the destroy action is available' do
188
198
  it 'calls gets the action ID and submits the request' do
189
- expect(@resource).to receive(:action_id_by_name).with('Destroy').and_return('action-123')
190
- expect(@resource).to receive(:submit_action_request).with('action-123')
191
- @resource.destroy
199
+ expect(resource).to receive(:action_id_by_name).with('Destroy').and_return('action-123')
200
+ expect(resource).to receive(:submit_action_request).with('action-123')
201
+ resource.destroy
192
202
  end
193
203
  end
194
204
 
195
205
  context 'when the destroy action is not available' do
196
206
  it 'raises an exception' do
197
- allow(@resource).to receive(:action_id_by_name).and_return nil
198
- expect { @resource.destroy }.to raise_error(Vra::Exception::NotFound)
207
+ allow(resource).to receive(:action_id_by_name).and_return nil
208
+ expect { resource.destroy }.to raise_error(Vra::Exception::NotFound)
199
209
  end
200
210
  end
201
211
  end
202
212
 
203
213
  describe '#submit_action_request' do
204
214
  before do
205
- allow(@resource).to receive(:action_request_payload).and_return({})
215
+ allow(resource).to receive(:action_request_payload).and_return({})
206
216
  response = double('response', code: 200, headers: { location: '/requests/request-12345' })
207
217
  allow(client).to receive(:http_post).with('/catalog-service/api/consumer/requests', '{}').and_return(response)
208
218
  end
@@ -210,36 +220,32 @@ describe Vra::Resource do
210
220
  it 'calls http_post' do
211
221
  expect(client).to receive(:http_post).with('/catalog-service/api/consumer/requests', '{}')
212
222
 
213
- @resource.submit_action_request('action-123')
223
+ resource.submit_action_request('action-123')
214
224
  end
215
225
 
216
226
  it 'returns a Vra::Request object' do
217
- expect(@resource.submit_action_request('action-123')).to be_an_instance_of(Vra::Request)
227
+ expect(resource.submit_action_request('action-123')).to be_an_instance_of(Vra::Request)
218
228
  end
219
229
  end
220
230
  end
221
231
 
222
232
  context 'when a valid VM resource instance with no operations is created' do
223
- before(:each) do
224
- @resource = Vra::Resource.new(client, data: vm_payload_no_ops)
225
- end
233
+ let(:resource) { Vra::Resource.new(client, data: vm_payload_no_ops) }
226
234
 
227
235
  describe '#actions' do
228
236
  it 'calls #fetch_resource_data' do
229
- expect(@resource).to receive(:fetch_resource_data)
230
- @resource.actions
237
+ expect(resource).to receive(:fetch_resource_data)
238
+ resource.actions
231
239
  end
232
240
  end
233
241
  end
234
242
 
235
243
  context 'when a valid non-VM resource instance has been created' do
236
- before(:each) do
237
- @resource = Vra::Resource.new(client, data: non_vm_payload)
238
- end
244
+ let(:resource) { Vra::Resource.new(client, data: non_vm_payload) }
239
245
 
240
246
  it 'returns nil for network_interfaces and ip_addresses' do
241
- expect(@resource.network_interfaces).to be_nil
242
- expect(@resource.ip_addresses).to be_nil
247
+ expect(resource.network_interfaces).to be_nil
248
+ expect(resource.ip_addresses).to be_nil
243
249
  end
244
250
  end
245
251
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmware-vra
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc1
4
+ version: 1.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Leff
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-29 00:00:00.000000000 Z
11
+ date: 2015-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client