test_azure_instance_service.py 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import azure_test.helpers as helpers
  2. from azure_test.helpers import ProviderTestBase
  3. class AzureInstanceServiceTestCase(ProviderTestBase):
  4. @helpers.skipIfNoService(['security.security_groups'])
  5. def test_azure_instances_list(self):
  6. instances_list = self.provider.compute.instances.list()
  7. print("List Instances - " + str(instances_list))
  8. self.assertTrue(instances_list.total_results > 0)
  9. @helpers.skipIfNoService(['security.security_groups'])
  10. def test_azure_instances_get_exist(self):
  11. instance_get = self.provider.compute.instances. \
  12. get('/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/'
  13. 'resourceGroups/cloudbridge-azure/providers/'
  14. 'Microsoft.Compute/virtualMachines/VM1')
  15. print("Get Instance - " + str(instance_get))
  16. self.assertIsNotNone(instance_get)
  17. @helpers.skipIfNoService(['security.security_groups'])
  18. def test_azure_instances_get_Not_exist(self):
  19. instance_get = self.provider.compute.instances. \
  20. get('/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/'
  21. 'resourceGroups/cloudbridge-azure/providers/'
  22. 'Microsoft.Compute/virtualMachines/VM_dontfindme')
  23. print("Get Instance Not Exist - " + str(instance_get))
  24. self.assertIsNone(instance_get)
  25. @helpers.skipIfNoService(['security.security_groups'])
  26. def test_azure_instances_find(self):
  27. instance_find = self.provider.compute.instances. \
  28. find('VM1')
  29. print("Find Instance - " + str(instance_find))
  30. self.assertIsNotNone(instance_find)
  31. @helpers.skipIfNoService(['block_store.snapshots'])
  32. def test_azure_instance_create_and_get(self):
  33. image_id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/' \
  34. 'resourceGroups/CLOUDBRIDGE-AZURE/providers/' \
  35. 'Microsoft.Compute/images/image3'
  36. img = self.provider.compute.images.get(image_id)
  37. self.assertIsNotNone(img)
  38. # TODO: Add logic to get key pair
  39. key_pair = None
  40. # self.assertIsNotNone(key_pair)
  41. inst_type = [t for t in self.provider.compute.instance_types.list()
  42. if t.name == 'Standard_DS1_v2'][0]
  43. sg_id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96' \
  44. '/resourceGroups/CloudBridge-Azure' \
  45. '/providers/Microsoft.Network/networkSecurityGroups/sg2'
  46. sg = self.provider.security.\
  47. security_groups.get(sg_id)
  48. subnet = self.provider.network.subnets.list()[0]
  49. lc = self.provider.compute.instances.create_launch_config()
  50. lc.add_volume_device(
  51. is_root=True,
  52. source=img,
  53. size=img.min_disk if img and img.min_disk else 2,
  54. delete_on_terminate=True)
  55. inst = self.provider.compute.instances.create(
  56. name='test', image=img, instance_type=inst_type,
  57. subnet=subnet, zone=None,
  58. key_pair=key_pair, security_groups=[sg], user_data=None,
  59. launch_config=lc)
  60. self.assertIsNotNone(inst)
  61. inst.reboot()
  62. inst.name = 'newvmname'
  63. self.assertEqual(inst.name, 'newvmname')
  64. inst.add_security_group(sg)
  65. inst.refresh()
  66. # Check removing a security group from a running instance
  67. inst.remove_security_group(sg)
  68. inst.refresh()
  69. img = inst.create_image('test_image')
  70. self.assertIsNotNone(img)
  71. inst.terminate()