oca 3.0.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.
@@ -0,0 +1,118 @@
1
+ $: << '../' \
2
+ << './'
3
+
4
+ require 'OpenNebula'
5
+ require 'helpers/MockClient'
6
+
7
+ module OpenNebula
8
+
9
+ describe "VirtualMachinePool using NOKOGIRI" do
10
+ before(:all) do
11
+ NOKOGIRI=true
12
+
13
+ client = MockClient.new()
14
+ @vm_pool = VirtualMachinePool.new(client)
15
+ end
16
+
17
+ it "should update the VM_POOL info" do
18
+ rc = @vm_pool.info()
19
+ rc.nil?.should eql(true)
20
+ end
21
+
22
+ it "should iterate the VM_POOL elements and get info from them using to_hash" do
23
+ vm_pool = @vm_pool.to_hash
24
+
25
+ vm_pool['VM_POOL']['VM'].each{ |vm|
26
+ if vm['ID'] == 6
27
+ vm.name.should eql('vm-example')
28
+ vm.state.should eql(3)
29
+ vm.state_str.should eql('ACTIVE')
30
+ vm['UID'].should eql('0')
31
+ vm['USERNAME'].should eql('oneadmin')
32
+ vm['LAST_POLL'].should eql('1277910006')
33
+ vm['HISTORY']['HOSTNAME'].should eql('dummyhost')
34
+ vm['HISTORY']['STIME'].should eql('1277375186')
35
+ vm['HISTORY']['REASON'].should eql('0')
36
+ elsif vm['ID'] == 8
37
+ vm.name.should eql('vmext')
38
+ vm.state.should eql(4)
39
+ vm.state_str.should eql('STOPPED')
40
+ vm['UID'].should eql('0')
41
+ vm['USERNAME'].should eql('oneadmin')
42
+ vm['LAST_POLL'].should eql('1277910006')
43
+ vm['HISTORY']['HOSTNAME'].should eql('thost')
44
+ vm['HISTORY']['STIME'].should eql('1277377556')
45
+ vm['HISTORY']['REASON'].should eql('0')
46
+ end
47
+ }
48
+ end
49
+
50
+ it "should iterate the VM_POOL elements and get info from them" do
51
+ rc = @vm_pool.each{ |vm|
52
+ vm.class.to_s.should eql("OpenNebula::VirtualMachine")
53
+ if vm.id == 6
54
+ vm.name.should eql('vm-example')
55
+ vm.state.should eql(3)
56
+ vm.state_str.should eql('ACTIVE')
57
+ vm['UID'].should eql('0')
58
+ vm['USERNAME'].should eql('oneadmin')
59
+ vm['LAST_POLL'].should eql('1277910006')
60
+ vm['HISTORY/HOSTNAME'].should eql('dummyhost')
61
+ vm['HISTORY/STIME'].should eql('1277375186')
62
+ vm['HISTORY/REASON'].should eql('0')
63
+ elsif vm.id == 8
64
+ vm.name.should eql('vmext')
65
+ vm.state.should eql(4)
66
+ vm.state_str.should eql('STOPPED')
67
+ vm['UID'].should eql('0')
68
+ vm['USERNAME'].should eql('oneadmin')
69
+ vm['LAST_POLL'].should eql('1277910006')
70
+ vm['HISTORY/HOSTNAME'].should eql('thost')
71
+ vm['HISTORY/STIME'].should eql('1277377556')
72
+ vm['HISTORY/REASON'].should eql('0')
73
+ end
74
+ }
75
+ end
76
+ end
77
+
78
+ describe "VirtualMachinePool using REXML" do
79
+ before(:all) do
80
+ NOKOGIRI=false
81
+
82
+ client = MockClient.new()
83
+ @vm_pool = VirtualMachinePool.new(client)
84
+ end
85
+
86
+ it "should update the VM_POOL info" do
87
+ rc = @vm_pool.info()
88
+ rc.nil?.should eql(true)
89
+ end
90
+
91
+ it "should iterate the VM_POOL elements and get info from them" do
92
+ rc = @vm_pool.each{ |vm|
93
+ vm.class.to_s.should eql("OpenNebula::VirtualMachine")
94
+ if vm.id == 6
95
+ vm.name.should eql('vm-example')
96
+ vm.state.should eql(3)
97
+ vm.state_str.should eql('ACTIVE')
98
+ vm['UID'].should eql('0')
99
+ vm['USERNAME'].should eql('oneadmin')
100
+ vm['LAST_POLL'].should eql('1277910006')
101
+ vm['HISTORY/HOSTNAME'].should eql('dummyhost')
102
+ vm['HISTORY/STIME'].should eql('1277375186')
103
+ vm['HISTORY/REASON'].should eql('0')
104
+ elsif vm.id == 8
105
+ vm.name.should eql('vmext')
106
+ vm.state.should eql(4)
107
+ vm.state_str.should eql('STOPPED')
108
+ vm['UID'].should eql('0')
109
+ vm['USERNAME'].should eql('oneadmin')
110
+ vm['LAST_POLL'].should eql('1277910006')
111
+ vm['HISTORY/HOSTNAME'].should eql('thost')
112
+ vm['HISTORY/STIME'].should eql('1277377556')
113
+ vm['HISTORY/REASON'].should eql('0')
114
+ end
115
+ }
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,473 @@
1
+ $: << '../' \
2
+ << './'
3
+
4
+ require 'OpenNebula'
5
+ require 'helpers/MockClient'
6
+
7
+ module OpenNebula
8
+
9
+ describe "VirtualMachine using NOKOGIRI" do
10
+ before(:all) do
11
+ NOKOGIRI=true
12
+
13
+ @xml = VirtualMachine.build_xml(6)
14
+
15
+ client = MockClient.new()
16
+ @vm = VirtualMachine.new(@xml,client)
17
+ end
18
+
19
+ it "should create a Nokogiri Node" do
20
+ @xml.class.to_s.should eql('Nokogiri::XML::NodeSet')
21
+ end
22
+
23
+ it "should allocate the new VM" do
24
+ @vm.allocate(nil)
25
+
26
+ @vm.id.should eql(6)
27
+ end
28
+
29
+ it "should update the VM info" do
30
+ @vm.info()
31
+
32
+ @vm.id.should eql(6)
33
+ @vm.name.should eql('vm-example')
34
+ @vm.state.should eql(3)
35
+ @vm.state_str.should eql('ACTIVE')
36
+ @vm.lcm_state.should eql(3)
37
+ @vm.lcm_state_str.should eql('RUNNING')
38
+ @vm.status.should eql('runn')
39
+ end
40
+
41
+ it "should deploy the VNET" do
42
+ rc = @vm.deploy(nil)
43
+
44
+ rc.should eql(nil)
45
+ end
46
+
47
+ it "should migrate the VNET" do
48
+ rc = @vm.migrate(nil)
49
+
50
+ rc.should eql(nil)
51
+ end
52
+
53
+ it "should live_migrate the VNET" do
54
+ rc = @vm.live_migrate(nil)
55
+
56
+ rc.should eql(nil)
57
+ end
58
+
59
+ it "should shutdown the VNET" do
60
+ rc = @vm.shutdown()
61
+
62
+ rc.should eql(nil)
63
+ end
64
+
65
+ it "should cancel the VNET" do
66
+ rc = @vm.cancel()
67
+
68
+ rc.should eql(nil)
69
+ end
70
+
71
+ it "should hold the VNET" do
72
+ rc = @vm.hold()
73
+
74
+ rc.should eql(nil)
75
+ end
76
+
77
+ it "should release the VNET" do
78
+ rc = @vm.release()
79
+
80
+ rc.should eql(nil)
81
+ end
82
+
83
+ it "should stop the VNET" do
84
+ rc = @vm.stop()
85
+
86
+ rc.should eql(nil)
87
+ end
88
+
89
+ it "should suspend the VNET" do
90
+ rc = @vm.suspend()
91
+
92
+ rc.should eql(nil)
93
+ end
94
+
95
+ it "should resume the VNET" do
96
+ rc = @vm.resume()
97
+
98
+ rc.should eql(nil)
99
+ end
100
+
101
+ it "should finalize the VNET" do
102
+ rc = @vm.finalize()
103
+
104
+ rc.should eql(nil)
105
+ end
106
+
107
+ it "should restart the VNET" do
108
+ rc = @vm.restart()
109
+
110
+ rc.should eql(nil)
111
+ end
112
+
113
+ it "should access an attribute using []" do
114
+ @vm['NAME'].should eql('vm-example')
115
+ @vm['DEPLOY_ID'].should eql('dummy')
116
+ @vm['TEMPLATE/MEMORY'].should eql('512')
117
+ @vm['ID'].should eql('6')
118
+ @vm['NAME'].should eql('vm-example')
119
+ @vm['LCM_STATE'].should eql('3')
120
+ @vm['DEPLOY_ID'].should eql('dummy')
121
+ @vm['TEMPLATE/MEMORY'].should eql('512')
122
+ @vm['TEMPLATE/CONTEXT/DNS'].should eql('192.169.1.4')
123
+ @vm['TEMPLATE/DISK/SIZE'].should eql('1024')
124
+ @vm['HISTORY/HOSTNAME'].should eql('dummyhost')
125
+ @vm['HISTORY/PSTIME'].should eql('1277375186')
126
+ end
127
+
128
+ it "should access an attribute using to_hash" do
129
+ vm_hash = @vm.to_hash
130
+
131
+ vm_hash['VM']['NAME'].should eql('vm-example')
132
+ vm_hash['VM']['DEPLOY_ID'].should eql('dummy')
133
+ vm_hash['VM']['TEMPLATE']['MEMORY'].should eql('512')
134
+ vm_hash['VM']['ID'].should eql('6')
135
+ vm_hash['VM']['NAME'].should eql('vm-example')
136
+ vm_hash['VM']['LCM_STATE'].should eql('3')
137
+ vm_hash['VM']['DEPLOY_ID'].should eql('dummy')
138
+ vm_hash['VM']['TEMPLATE']['MEMORY'].should eql('512')
139
+ vm_hash['VM']['TEMPLATE']['CONTEXT']['DNS'].should eql('192.169.1.4')
140
+ vm_hash['VM']['TEMPLATE']['DISK'][1]['SIZE'].should eql('1024')
141
+ vm_hash['VM']['HISTORY']['HOSTNAME'].should eql('dummyhost')
142
+ vm_hash['VM']['HISTORY']['PSTIME'].should eql('1277375186')
143
+ end
144
+ end
145
+
146
+ describe "VirtualMachine using REXML" do
147
+ before(:all) do
148
+ NOKOGIRI=false
149
+
150
+ @xml = VirtualMachine.build_xml(6)
151
+
152
+ client = MockClient.new()
153
+ @vm = VirtualMachine.new(@xml,client)
154
+ end
155
+
156
+ it "should create a REXML Element" do
157
+ @xml.class.to_s.should eql('REXML::Element')
158
+ end
159
+
160
+ it "should allocate the new VM" do
161
+ @vm.allocate(nil)
162
+
163
+ @vm.id.should eql(6)
164
+ end
165
+
166
+ it "should update the VM info" do
167
+ @vm.info()
168
+
169
+ @vm.id.should eql(6)
170
+ @vm.name.should eql('vm-example')
171
+ @vm.state.should eql(3)
172
+ @vm.state_str.should eql('ACTIVE')
173
+ @vm.lcm_state.should eql(3)
174
+ @vm.lcm_state_str.should eql('RUNNING')
175
+ @vm.status.should eql('runn')
176
+ end
177
+
178
+ it "should deploy the VNET" do
179
+ rc = @vm.deploy(nil)
180
+
181
+ rc.should eql(nil)
182
+ end
183
+
184
+ it "should migrate the VNET" do
185
+ rc = @vm.migrate(nil)
186
+
187
+ rc.should eql(nil)
188
+ end
189
+
190
+ it "should live_migrate the VNET" do
191
+ rc = @vm.live_migrate(nil)
192
+
193
+ rc.should eql(nil)
194
+ end
195
+
196
+ it "should shutdown the VNET" do
197
+ rc = @vm.shutdown()
198
+
199
+ rc.should eql(nil)
200
+ end
201
+
202
+ it "should cancel the VNET" do
203
+ rc = @vm.cancel()
204
+
205
+ rc.should eql(nil)
206
+ end
207
+
208
+ it "should hold the VNET" do
209
+ rc = @vm.hold()
210
+
211
+ rc.should eql(nil)
212
+ end
213
+
214
+ it "should release the VNET" do
215
+ rc = @vm.release()
216
+
217
+ rc.should eql(nil)
218
+ end
219
+
220
+ it "should stop the VNET" do
221
+ rc = @vm.stop()
222
+
223
+ rc.should eql(nil)
224
+ end
225
+
226
+ it "should suspend the VNET" do
227
+ rc = @vm.suspend()
228
+
229
+ rc.should eql(nil)
230
+ end
231
+
232
+ it "should resume the VNET" do
233
+ rc = @vm.resume()
234
+
235
+ rc.should eql(nil)
236
+ end
237
+
238
+ it "should finalize the VNET" do
239
+ rc = @vm.finalize()
240
+
241
+ rc.should eql(nil)
242
+ end
243
+
244
+ it "should restart the VNET" do
245
+ rc = @vm.restart()
246
+
247
+ rc.should eql(nil)
248
+ end
249
+
250
+ it "should access an attribute using []" do
251
+ @vm['NAME'].should eql('vm-example')
252
+ @vm['DEPLOY_ID'].should eql('dummy')
253
+ @vm['TEMPLATE/MEMORY'].should eql('512')
254
+ @vm['ID'].should eql('6')
255
+ @vm['NAME'].should eql('vm-example')
256
+ @vm['LCM_STATE'].should eql('3')
257
+ @vm['DEPLOY_ID'].should eql('dummy')
258
+ @vm['TEMPLATE/MEMORY'].should eql('512')
259
+ @vm['TEMPLATE/CONTEXT/DNS'].should eql('192.169.1.4')
260
+ @vm['TEMPLATE/DISK/SIZE'].should eql('1024')
261
+ @vm['HISTORY/HOSTNAME'].should eql('dummyhost')
262
+ @vm['HISTORY/PSTIME'].should eql('1277375186')
263
+ end
264
+
265
+ it "should access an attribute using to_hash" do
266
+ vm_hash = @vm.to_hash
267
+
268
+ vm_hash['VM']['NAME'].should eql('vm-example')
269
+ vm_hash['VM']['DEPLOY_ID'].should eql('dummy')
270
+ vm_hash['VM']['TEMPLATE']['MEMORY'].should eql('512')
271
+ vm_hash['VM']['ID'].should eql('6')
272
+ vm_hash['VM']['NAME'].should eql('vm-example')
273
+ vm_hash['VM']['LCM_STATE'].should eql('3')
274
+ vm_hash['VM']['DEPLOY_ID'].should eql('dummy')
275
+ vm_hash['VM']['TEMPLATE']['MEMORY'].should eql('512')
276
+ vm_hash['VM']['TEMPLATE']['CONTEXT']['DNS'].should eql('192.169.1.4')
277
+ vm_hash['VM']['TEMPLATE']['DISK'][1]['SIZE'].should eql('1024')
278
+ vm_hash['VM']['HISTORY']['HOSTNAME'].should eql('dummyhost')
279
+ vm_hash['VM']['HISTORY']['PSTIME'].should eql('1277375186')
280
+ end
281
+ end
282
+
283
+
284
+ describe "VirtualMachine using NOKOGIRI without id" do
285
+ before(:all) do
286
+ NOKOGIRI=true
287
+
288
+ @xml = VirtualMachine.build_xml()
289
+
290
+ client = MockClient.new()
291
+ @vm = VirtualMachine.new(@xml,client)
292
+ end
293
+
294
+ it "should create a Nokogiri Node" do
295
+ @xml.class.to_s.should eql('Nokogiri::XML::NodeSet')
296
+ end
297
+
298
+ it "should deploy the VNET" do
299
+ rc = @vm.deploy(nil)
300
+
301
+ OpenNebula.is_error?(rc).should eql(true)
302
+ end
303
+
304
+ it "should migrate the VNET" do
305
+ rc = @vm.migrate(nil)
306
+
307
+ OpenNebula.is_error?(rc).should eql(true)
308
+ end
309
+
310
+ it "should live_migrate the VNET" do
311
+ rc = @vm.live_migrate(nil)
312
+
313
+ OpenNebula.is_error?(rc).should eql(true)
314
+ end
315
+
316
+ it "should shutdown the VNET" do
317
+ rc = @vm.shutdown()
318
+
319
+ OpenNebula.is_error?(rc).should eql(true)
320
+ end
321
+
322
+ it "should cancel the VNET" do
323
+ rc = @vm.cancel()
324
+
325
+ OpenNebula.is_error?(rc).should eql(true)
326
+ end
327
+
328
+ it "should hold the VNET" do
329
+ rc = @vm.hold()
330
+
331
+ OpenNebula.is_error?(rc).should eql(true)
332
+ end
333
+
334
+ it "should release the VNET" do
335
+ rc = @vm.release()
336
+
337
+ OpenNebula.is_error?(rc).should eql(true)
338
+ end
339
+
340
+ it "should stop the VNET" do
341
+ rc = @vm.stop()
342
+
343
+ OpenNebula.is_error?(rc).should eql(true)
344
+ end
345
+
346
+ it "should suspend the VNET" do
347
+ rc = @vm.suspend()
348
+
349
+ OpenNebula.is_error?(rc).should eql(true)
350
+ end
351
+
352
+ it "should resume the VNET" do
353
+ rc = @vm.resume()
354
+
355
+ OpenNebula.is_error?(rc).should eql(true)
356
+ end
357
+
358
+ it "should finalize the VNET" do
359
+ rc = @vm.finalize()
360
+
361
+ OpenNebula.is_error?(rc).should eql(true)
362
+ end
363
+
364
+ it "should restart the VNET" do
365
+ rc = @vm.restart()
366
+
367
+ OpenNebula.is_error?(rc).should eql(true)
368
+ end
369
+
370
+ it "should get Error getting info" do
371
+ rc = @vm.info()
372
+
373
+ OpenNebula.is_error?(rc).should eql(true)
374
+ @vm.id.should eql(nil)
375
+ @vm.name.should eql(nil)
376
+ end
377
+ end
378
+
379
+ describe "VirtualMachine using REXML without id" do
380
+ before(:all) do
381
+ NOKOGIRI=false
382
+
383
+ @xml = VirtualMachine.build_xml()
384
+
385
+ client = MockClient.new()
386
+ @vm = VirtualMachine.new(@xml,client)
387
+ end
388
+
389
+ it "should create a REXML Element" do
390
+ @xml.class.to_s.should eql('REXML::Element')
391
+ end
392
+
393
+ it "should deploy the VNET" do
394
+ rc = @vm.deploy(nil)
395
+
396
+ OpenNebula.is_error?(rc).should eql(true)
397
+ end
398
+
399
+ it "should migrate the VNET" do
400
+ rc = @vm.migrate(nil)
401
+
402
+ OpenNebula.is_error?(rc).should eql(true)
403
+ end
404
+
405
+ it "should live_migrate the VNET" do
406
+ rc = @vm.live_migrate(nil)
407
+
408
+ OpenNebula.is_error?(rc).should eql(true)
409
+ end
410
+
411
+ it "should shutdown the VNET" do
412
+ rc = @vm.shutdown()
413
+
414
+ OpenNebula.is_error?(rc).should eql(true)
415
+ end
416
+
417
+ it "should cancel the VNET" do
418
+ rc = @vm.cancel()
419
+
420
+ OpenNebula.is_error?(rc).should eql(true)
421
+ end
422
+
423
+ it "should hold the VNET" do
424
+ rc = @vm.hold()
425
+
426
+ OpenNebula.is_error?(rc).should eql(true)
427
+ end
428
+
429
+ it "should release the VNET" do
430
+ rc = @vm.release()
431
+
432
+ OpenNebula.is_error?(rc).should eql(true)
433
+ end
434
+
435
+ it "should stop the VNET" do
436
+ rc = @vm.stop()
437
+
438
+ OpenNebula.is_error?(rc).should eql(true)
439
+ end
440
+
441
+ it "should suspend the VNET" do
442
+ rc = @vm.suspend()
443
+
444
+ OpenNebula.is_error?(rc).should eql(true)
445
+ end
446
+
447
+ it "should resume the VNET" do
448
+ rc = @vm.resume()
449
+
450
+ OpenNebula.is_error?(rc).should eql(true)
451
+ end
452
+
453
+ it "should finalize the VNET" do
454
+ rc = @vm.finalize()
455
+
456
+ OpenNebula.is_error?(rc).should eql(true)
457
+ end
458
+
459
+ it "should restart the VNET" do
460
+ rc = @vm.restart()
461
+
462
+ OpenNebula.is_error?(rc).should eql(true)
463
+ end
464
+
465
+ it "should get Error getting info" do
466
+ rc = @vm.info()
467
+
468
+ OpenNebula.is_error?(rc).should eql(true)
469
+ @vm.id.should eql(nil)
470
+ @vm.name.should eql(nil)
471
+ end
472
+ end
473
+ end
@@ -0,0 +1,88 @@
1
+ $: << '../' \
2
+ << './'
3
+
4
+ require 'OpenNebula'
5
+ require 'helpers/MockClient'
6
+
7
+ module OpenNebula
8
+
9
+ describe "VirtualNetwork using NOKOGIRI" do
10
+ before(:all) do
11
+ NOKOGIRI=true
12
+
13
+ client = MockClient.new()
14
+ @vnet_pool = VirtualNetworkPool.new(client)
15
+ end
16
+
17
+ #it "should get nil, trying to get a hash, if the info method was not called before" do
18
+ # vnet_hash = @vnet_pool.to_hash
19
+ # vnet_hash.nil?.should eql(true)
20
+ #end
21
+
22
+ it "should update the VNET_POOL info" do
23
+ rc = @vnet_pool.info()
24
+ rc.nil?.should eql(true)
25
+ end
26
+
27
+ it "should iterate the VNET_POOL elements and get info from them" do
28
+ rc = @vnet_pool.each{ |vn|
29
+ vn.class.to_s.should eql("OpenNebula::VirtualNetwork")
30
+ if vn.id == 4
31
+ vn.name.should eql('Red LAN')
32
+ vn['UID'].should eql('0')
33
+ vn['USERNAME'].should eql('oneadmin')
34
+ vn['TYPE'].should eql('0')
35
+ vn['BRIDGE'].should eql('vbr0')
36
+ vn['TOTAL_LEASES'].should eql('0')
37
+ elsif vn.id == 5
38
+ vn.name.should eql('Public')
39
+ vn['UID'].should eql('0')
40
+ vn['USERNAME'].should eql('oneadmin')
41
+ vn['TYPE'].should eql('0')
42
+ vn['BRIDGE'].should eql('vbr0')
43
+ vn['TOTAL_LEASES'].should eql('1')
44
+ end
45
+ }
46
+ end
47
+ end
48
+
49
+ describe "VirtualNetwork using REXML" do
50
+ before(:all) do
51
+ NOKOGIRI=false
52
+
53
+ client = MockClient.new()
54
+ @vnet_pool = VirtualNetworkPool.new(client)
55
+ end
56
+
57
+ #it "should get nil, trying to get a hash, if the info method was not called before" do
58
+ # vnet_hash = @vnet_pool.to_hash
59
+ # vnet_hash.nil?.should eql(true)
60
+ #end
61
+
62
+ it "should update the VNET_POOL info" do
63
+ rc = @vnet_pool.info()
64
+ rc.nil?.should eql(true)
65
+ end
66
+
67
+ it "should iterate the VNET_POOL elements and get info from them" do
68
+ rc = @vnet_pool.each{ |vn|
69
+ vn.class.to_s.should eql("OpenNebula::VirtualNetwork")
70
+ if vn.id == 4
71
+ vn.name.should eql('Red LAN')
72
+ vn['UID'].should eql('0')
73
+ vn['USERNAME'].should eql('oneadmin')
74
+ vn['TYPE'].should eql('0')
75
+ vn['BRIDGE'].should eql('vbr0')
76
+ vn['TOTAL_LEASES'].should eql('0')
77
+ elsif vn.id == 5
78
+ vn.name.should eql('Public')
79
+ vn['UID'].should eql('0')
80
+ vn['USERNAME'].should eql('oneadmin')
81
+ vn['TYPE'].should eql('0')
82
+ vn['BRIDGE'].should eql('vbr0')
83
+ vn['TOTAL_LEASES'].should eql('1')
84
+ end
85
+ }
86
+ end
87
+ end
88
+ end