test_azure_volume_service.py 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. import azure_test.helpers as helpers
  2. from azure_test.helpers import ProviderTestBase
  3. from cloudbridge.cloud.interfaces import VolumeState
  4. class AzureVolumeServiceTestCase(ProviderTestBase):
  5. @helpers.skipIfNoService(['block_store.volumes'])
  6. def test_azure_volume_create_and_get(self):
  7. volume = self.provider.block_store.volumes.create(
  8. "MyVolume", 1, description='My volume')
  9. print("Create Volume - " + str(volume))
  10. self.assertTrue(
  11. volume.name == "MyVolume", "Volume name should be MyVolume")
  12. self.assertIsNotNone(volume.description)
  13. self.assertIsNotNone(volume.name)
  14. self.assertIsNotNone(volume.size)
  15. self.assertIsNotNone(volume.zone_id)
  16. self.assertIsNone(volume.source)
  17. self.assertIsNone(volume.attachments)
  18. self.assertIsNotNone(volume.create_time)
  19. volume.name = 'newname'
  20. volume = self.provider.block_store.volumes.get(
  21. volume.id)
  22. volume.description = 'My Volume desc'
  23. print("Get Volume - " + str(volume))
  24. self.assertTrue(
  25. volume.description == "My Volume desc",
  26. "Volume description should be My Volume desc")
  27. volume.delete()
  28. @helpers.skipIfNoService(['block_store.volumes'])
  29. def test_azure_volume_delete(self):
  30. volume = self.provider.block_store.volumes.create("MyTestVolume", 1)
  31. volume.refresh()
  32. print("Create Volume - " + str(volume))
  33. self.assertTrue(volume.name == "MyTestVolume",
  34. "Volume name should be MyVolume")
  35. volume.delete()
  36. volume1_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96" \
  37. "/resourceGroups/cloudbridge-azure/providers" \
  38. "/Microsoft.Compute/disks/MyVolume"
  39. delete_volume = volume.delete()
  40. self.assertEqual(delete_volume, False)
  41. volume.refresh()
  42. self.assertEqual(volume.state, VolumeState.UNKNOWN)
  43. volume1 = self.provider.block_store.volumes.get(volume1_id)
  44. self.assertTrue(
  45. volume1 is None, "Volume still exists")
  46. @helpers.skipIfNoService(['block_store.volumes'])
  47. def test_azure_volume_attach_and_detach(self):
  48. volume = self.provider.block_store.volumes.create(
  49. "attach", 1, description='My volume')
  50. self.assertTrue(
  51. volume.name == "attach", "Volume name should be MyVolume")
  52. instance_id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'\
  53. '/resourceGroups/CLOUDBRIDGE-AZURE'\
  54. '/providers/Microsoft.Compute/virtualMachines/VM1'
  55. attached = volume.attach(instance_id)
  56. self.assertEqual(attached, True)
  57. self.assertIsNotNone(volume.attachments)
  58. instance_id = instance_id + '1'
  59. attach_volume = volume.attach(instance_id)
  60. self.assertEqual(attach_volume, False)
  61. detached = volume.detach()
  62. self.assertEqual(detached, True)
  63. detached = volume.detach()
  64. self.assertEqual(detached, False)
  65. volume.delete()
  66. @helpers.skipIfNoService(['block_store.volumes'])
  67. def test_azure_volume_create_snapshot(self):
  68. volume = self.provider.block_store.volumes.create(
  69. "MyVolume", 1, description='My volume')
  70. self.assertTrue(
  71. volume.name == "MyVolume", "Volume name should be MyVolume")
  72. snapshot = volume.create_snapshot("MySnap")
  73. self.assertTrue(
  74. snapshot is not None, "Snapshot not created")
  75. volume.delete()
  76. @helpers.skipIfNoService(['block_store.volumes'])
  77. def test_azure_volume_get_ifNotExist(self):
  78. volume_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96" \
  79. "/resourceGroups/cloudbridge-azure/providers" \
  80. "/Microsoft.Compute/disks/MyVolume123"
  81. volume = self.provider.block_store.volumes.get(volume_id)
  82. self.assertTrue(
  83. volume is None, "Volume should not be available")
  84. @helpers.skipIfNoService(['block_store.volumes'])
  85. def test_azure_volume_find(self):
  86. volumes = self.provider.block_store.volumes.find("Volume1")
  87. print(len(volumes))
  88. print('after find')
  89. self.assertTrue(
  90. len(volumes) == 1, "Volume should not be available")
  91. self.assertIsNotNone(volumes[0].source)
  92. @helpers.skipIfNoService(['block_store.volumes'])
  93. def test_azure_volume_find_ifNotExist(self):
  94. volumes = self.provider.block_store.volumes.find("Volume123")
  95. self.assertTrue(
  96. len(volumes) == 0, "Volume should not be available")
  97. @helpers.skipIfNoService(['block_store.volumes'])
  98. def test_azure_volume_list(self):
  99. volume_list = self.provider.block_store.volumes.list()
  100. print("Volume List - " + str(volume_list))
  101. self.assertEqual(
  102. len(volume_list), 2)