test_azure_volume_service.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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. "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers'\
  22. '/Microsoft.Compute/disks/MyVolume")
  23. volume.description = 'My Volume desc'
  24. print("Get Volume - " + str(volume))
  25. self.assertTrue(
  26. volume.name == "MyVolume", "Volume name should be MyVolume")
  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(self):
  48. volume = self.provider.block_store.volumes.create(
  49. "MyVolume", 1, description='My volume')
  50. self.assertTrue(
  51. volume.name == "MyVolume", "Volume name should be MyVolume")
  52. attached = volume.attach("/subscriptions'\
  53. '/7904d702-e01c-4826-8519-f5a25c866a96'\
  54. '/resourceGroups/CloudBridge-Azure/providers'\
  55. '/Microsoft.Compute/virtualMachines/ubuntu-intro1")
  56. self.assertEqual(attached, True)
  57. attach_volume = volume.attach("/subscriptions'\
  58. '/7904d702-e01c-4826-8519-f5a25c866a96'\
  59. '/resourceGroups/CloudBridge-Azure/providers'\
  60. '/Microsoft.Compute/virtualMachines/ubuntu-intro1")
  61. self.assertEqual(attach_volume, False)
  62. volume.delete()
  63. @helpers.skipIfNoService(['block_store.volumes'])
  64. def test_azure_volume_dettach(self):
  65. volume = self.provider.block_store.volumes.create(
  66. "MyVolume", 1, description='My volume')
  67. self.assertTrue(
  68. volume.name == "MyVolume", "Volume name should be MyVolume")
  69. volume.detach()
  70. volume.delete()
  71. @helpers.skipIfNoService(['block_store.volumes'])
  72. def test_azure_volume_create_snapshot(self):
  73. volume = self.provider.block_store.volumes.create(
  74. "MyVolume", 1, description='My volume')
  75. self.assertTrue(
  76. volume.name == "MyVolume", "Volume name should be MyVolume")
  77. snapshot = volume.create_snapshot("MySnap")
  78. self.assertTrue(
  79. snapshot is not None, "Snapshot not created")
  80. volume.delete()
  81. @helpers.skipIfNoService(['block_store.volumes'])
  82. def test_azure_volume_get_ifNotExist(self):
  83. volume_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96" \
  84. "/resourceGroups/cloudbridge-azure/providers" \
  85. "/Microsoft.Compute/disks/MyVolume123"
  86. volume = self.provider.block_store.volumes.get(volume_id)
  87. self.assertTrue(
  88. volume is None, "Volume should not be available")
  89. @helpers.skipIfNoService(['block_store.volumes'])
  90. def test_azure_volume_find(self):
  91. volumes = self.provider.block_store.volumes.find("Volume")
  92. self.assertTrue(
  93. len(volumes) == 2, "Volume should not be available")
  94. @helpers.skipIfNoService(['block_store.volumes'])
  95. def test_azure_volume_find_ifNotExist(self):
  96. volumes = self.provider.block_store.volumes.find("Volume123")
  97. self.assertTrue(
  98. len(volumes) == 0, "Volume should not be available")
  99. @helpers.skipIfNoService(['block_store.volumes'])
  100. def test_azure_volume_list(self):
  101. volume_list = self.provider.block_store.volumes.list()
  102. print("Volume List - " + str(volume_list))
  103. self.assertEqual(
  104. len(volume_list), 2)