199 |
199 |
TEST_ALL = True
|
200 |
200 |
|
201 |
201 |
self.server1 = self._create_server(self.servname1, self.flavorid, self.img)
|
202 |
|
self.server2 = self._create_server(self.servname2, self.flavorid, self.img)
|
|
202 |
self.server2 = self._create_server(self.servname2, self.flavorid+1, self.img)
|
203 |
203 |
|
204 |
204 |
print('testing')
|
205 |
205 |
sys.stdout.write(' test create server')
|
... | ... | |
242 |
242 |
self._test_delete_server_metadata()
|
243 |
243 |
print('...ok')
|
244 |
244 |
|
245 |
|
sys.stdout.write(' test test_list_flavors')
|
|
245 |
sys.stdout.write(' test list_flavors')
|
246 |
246 |
self._test_list_flavors()
|
247 |
247 |
print('...ok')
|
248 |
248 |
|
249 |
|
sys.stdout.write(' test test_get_flavor_details')
|
|
249 |
sys.stdout.write(' test get_flavor_details')
|
250 |
250 |
self._test_get_flavor_details()
|
251 |
251 |
print('...ok')
|
252 |
252 |
|
|
253 |
sys.stdout.write(' test list_images')
|
|
254 |
self._test_list_images()
|
|
255 |
print('...ok')
|
|
256 |
|
|
257 |
sys.stdout.write(' test get_image_details')
|
|
258 |
self._test_get_image_details()
|
|
259 |
print('...ok')
|
|
260 |
|
|
261 |
sys.stdout.write(' test get_image_metadata')
|
|
262 |
self._test_get_image_metadata()
|
|
263 |
print('...ok')
|
|
264 |
|
|
265 |
sys.stdout.write(' test shutdown/start_server')
|
|
266 |
self._test_shutdown_start_server()
|
|
267 |
print('...ok')
|
|
268 |
|
|
269 |
sys.stdout.write(' test get_server_console')
|
|
270 |
self._test_get_server_console()
|
|
271 |
print('...ok')
|
|
272 |
|
|
273 |
"""Don't have auth for these:
|
|
274 |
sys.stdout.write(' test delete_image')
|
|
275 |
self._test_delete_image()
|
|
276 |
print('...ok')
|
|
277 |
sys.stdout.write(' test create_image_metadata')
|
|
278 |
self._test_create_image_metadata()
|
|
279 |
print('...ok')
|
|
280 |
sys.stdout.write(' test update_image_metadata')
|
|
281 |
self._test_update_image_metadata()
|
|
282 |
print('...ok')
|
|
283 |
sys.stdout.write(' test delete_image_metadata')
|
|
284 |
self._test_delete_image_metadata()
|
|
285 |
print('...ok')
|
|
286 |
"""
|
|
287 |
|
253 |
288 |
def _has_status(self, servid, status):
|
254 |
289 |
r = self.client.get_server_details(servid)
|
255 |
290 |
return r['status'] == status
|
... | ... | |
270 |
305 |
def test_list_servers(self):
|
271 |
306 |
"""Test list servers"""
|
272 |
307 |
self.server1 = self._create_server(self.servname1, self.flavorid, self.img)
|
273 |
|
self.server2 = self._create_server(self.servname2, self.flavorid, self.img)
|
|
308 |
self.server2 = self._create_server(self.servname2, self.flavorid+1, self.img)
|
274 |
309 |
self._test_list_servers()
|
275 |
310 |
|
276 |
311 |
def _test_list_servers(self):
|
... | ... | |
344 |
379 |
def test_reboot_server(self):
|
345 |
380 |
"""Test reboot server"""
|
346 |
381 |
self.server1 = self._create_server(self.servname1, self.flavorid, self.img)
|
347 |
|
self.server2 = self._create_server(self.servname2, self.flavorid, self.img)
|
|
382 |
self.server2 = self._create_server(self.servname2, self.flavorid+1, self.img)
|
348 |
383 |
self._test_reboot_server()
|
349 |
384 |
|
350 |
385 |
def _test_reboot_server(self):
|
... | ... | |
427 |
462 |
r = self.client.get_flavor_details(self.flavorid)
|
428 |
463 |
self.assert_dicts_are_deeply_equal(self.flavor_details, r)
|
429 |
464 |
|
|
465 |
@if_not_all
|
|
466 |
def test_list_images(self):
|
|
467 |
"""Test list_images"""
|
|
468 |
self._test_list_images()
|
|
469 |
|
|
470 |
def _test_list_images(self):
|
|
471 |
r = self.client.list_images()
|
|
472 |
self.assertTrue(len(r) > 1)
|
|
473 |
r = self.client.list_images(detail=True)
|
|
474 |
for detailed_img in r:
|
|
475 |
if detailed_img['id'] == self.img:
|
|
476 |
break
|
|
477 |
self.assert_dicts_are_deeply_equal(r[1], self.img_details)
|
|
478 |
|
|
479 |
@if_not_all
|
|
480 |
def test_image_details(self):
|
|
481 |
"""Test image_details"""
|
|
482 |
self._test_get_image_details
|
|
483 |
|
|
484 |
def _test_get_image_details(self):
|
|
485 |
r = self.client.get_image_details(self.img)
|
|
486 |
self.assert_dicts_are_deeply_equal(r, self.img_details)
|
|
487 |
|
|
488 |
@if_not_all
|
|
489 |
def test_get_image_metadata(self):
|
|
490 |
"""Test get_image_metadata"""
|
|
491 |
self._test_get_image_metadata()
|
|
492 |
|
|
493 |
def _test_get_image_metadata(self):
|
|
494 |
r = self.client.get_image_metadata(self.img)
|
|
495 |
self.assert_dicts_are_deeply_equal(self.img_details['metadata']['values'], r)
|
|
496 |
for key,val in self.img_details['metadata']['values'].items():
|
|
497 |
r = self.client.get_image_metadata(self.img, key)
|
|
498 |
self.assertEqual(r[key], val)
|
|
499 |
|
|
500 |
@if_not_all
|
|
501 |
def test_start_server(self):
|
|
502 |
"""Test start_server"""
|
|
503 |
self.server1 = self._create_server(self.servname1, self.flavorid, self.img)
|
|
504 |
self._test_shutdown_start_server()
|
|
505 |
@if_not_all
|
|
506 |
def test_shutdown_server(self):
|
|
507 |
"""Test shutdown_server"""
|
|
508 |
self.server1 = self._create_server(self.servname1, self.flavorid, self.img)
|
|
509 |
self._test_shutdown_start_server()
|
|
510 |
|
|
511 |
def _test_shutdown_start_server(self):
|
|
512 |
self._wait_for_status(self.server1['id'], 'BUILD')
|
|
513 |
print('Shutdown Server %s'%self.server1['id'])
|
|
514 |
self.client.shutdown_server(self.server1['id'])
|
|
515 |
self._wait_for_status(self.server1['id'], 'ACTIVE')
|
|
516 |
r = self.client.get_server_details(self.server1['id'])
|
|
517 |
self.assertEqual(r['status'], 'STOPPED')
|
|
518 |
print('Start Server %s'%self.server1['id'])
|
|
519 |
self.client.start_server(self.server1['id'])
|
|
520 |
self._wait_for_status(self.server1['id'], 'STOPPED')
|
|
521 |
r = self.client.get_server_details(self.server1['id'])
|
|
522 |
self.assertEqual(r['status'], 'ACTIVE')
|
|
523 |
|
|
524 |
@if_not_all
|
|
525 |
def test_get_server_console(self):
|
|
526 |
"""Test get_server_console"""
|
|
527 |
self.server2 = self._create_server(self.servname2, self.flavorid, self.img)
|
|
528 |
self._test_get_server_console()
|
|
529 |
|
|
530 |
def _test_get_server_console(self):
|
|
531 |
self._wait_for_status(self.server2['id'], 'BUILD')
|
|
532 |
r = self.client.get_server_console(self.server2['id'])
|
|
533 |
self.assertTrue(r.has_key('host'))
|
|
534 |
self.assertTrue(r.has_key('password'))
|
|
535 |
self.assertTrue(r.has_key('port'))
|
|
536 |
self.assertTrue(r.has_key('type'))
|
|
537 |
|
|
538 |
""" Don't have auth to test this
|
|
539 |
@if_not_all
|
|
540 |
def test_delete_image(self):
|
|
541 |
""Test delete_image""
|
|
542 |
self._test_delete_image()
|
|
543 |
def _test_delete_image(self):
|
|
544 |
images = self.client.list_images()
|
|
545 |
self.client.delete_image(images[2]['id'])
|
|
546 |
try:
|
|
547 |
r = self.client.get_image_details(images[2]['id'], success=(400))
|
|
548 |
except ClientError as err:
|
|
549 |
self.assertEqual(err.status, 404)
|
|
550 |
|
|
551 |
@if_not_all
|
|
552 |
def test_create_image_metadata(self):
|
|
553 |
""Test create_image_metadata""
|
|
554 |
self._test_create_image_metadata()
|
|
555 |
def _test_create_image_metadata(self):
|
|
556 |
r = self.client.create_image_metadata(self.img, 'mykey', 'myval')
|
|
557 |
self.assertEqual(r['mykey'], 'myval')
|
|
558 |
|
|
559 |
@if_not_all
|
|
560 |
def test_update_image_metadata(self):
|
|
561 |
""Test update_image_metadata""
|
|
562 |
self._test_update_image_metadata()
|
|
563 |
def _test_update_image_metadata(self):
|
|
564 |
r = self.client.create_image_metadata(self.img, 'mykey0', 'myval')
|
|
565 |
r = self.client.update_image_metadata(self.img, 'mykey0', 'myval0')
|
|
566 |
self.assertEqual(r['mykey0'], 'myval0')
|
|
567 |
|
|
568 |
@if_not_all
|
|
569 |
def test_delete_image_metadata(self):
|
|
570 |
""Test delete_image_metadata""
|
|
571 |
self._test_delete_image_metadata()
|
|
572 |
def _test_delete_image_metadata(self):
|
|
573 |
self.client.create_image_metadata(self.img, 'mykey1', 'myval1')
|
|
574 |
self.client.delete_image_metadata(self.img, 'mykey1')
|
|
575 |
r = self.client.get_image_metadata(self.img)
|
|
576 |
self.assertNotEqual(r.has_key('mykey1'))
|
|
577 |
"""
|
|
578 |
|
430 |
579 |
class testPithos(unittest.TestCase):
|
431 |
580 |
"""Set up a Pithos+ thorough test"""
|
432 |
581 |
def setUp(self):
|