test_azure_volume_service.py 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import test.helpers as helpers
  2. from test.helpers import ProviderTestBase
  3. class AzureVolumeServiceTestCase(ProviderTestBase):
  4. def __init__(self, methodName, provider):
  5. super(AzureVolumeServiceTestCase, self).__init__(
  6. methodName=methodName, provider=provider)
  7. @helpers.skipIfNoService(['block_store.volumes'])
  8. def test_azure_volume_create_and_get(self):
  9. volume = self.provider.block_store.volumes.create("MyVolume", 1, description='My volume')
  10. print("Create Volume - " + str(volume))
  11. self.assertTrue(
  12. volume.name == "MyVolume", "Volume name should be MyVolume")
  13. volume = self.provider.block_store.volumes.get(
  14. "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers'\
  15. '/Microsoft.Compute/disks/MyVolume")
  16. print("Get Volume - " + str(volume))
  17. self.assertTrue(
  18. volume.name == "MyVolume", "Volume name should be MyVolume")
  19. volume.delete()
  20. @helpers.skipIfNoService(['block_store.volumes'])
  21. def test_azure_volume_delete(self):
  22. volume = self.provider.block_store.volumes.create("MyVolume", 1)
  23. volume.refresh()
  24. print("Create Volume - " + str(volume))
  25. self.assertTrue(volume.name == "MyVolume", "Volume name should be MyVolume")
  26. volume.delete()
  27. volume1_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure' \
  28. '/providers/Microsoft.Compute/disks/MyVolume"
  29. volume1 = self.provider.block_store.volumes.get(volume1_id)
  30. self.assertTrue(
  31. volume1 is None, "Volume still exists")
  32. @helpers.skipIfNoService(['block_store.volumes'])
  33. def test_azure_volume_attach(self):
  34. volume = self.provider.block_store.volumes.create("MyVolume", 1, description='My volume')
  35. self.assertTrue(
  36. volume.name == "MyVolume", "Volume name should be MyVolume")
  37. volume.attach("/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
  38. '/providers/Microsoft.Compute/virtualMachines/ubuntu-intro1")
  39. volume.delete()
  40. @helpers.skipIfNoService(['block_store.volumes'])
  41. def test_azure_volume_dettach(self):
  42. volume = self.provider.block_store.volumes.create("MyVolume", 1, description='My volume')
  43. self.assertTrue(
  44. volume.name == "MyVolume", "Volume name should be MyVolume")
  45. volume.detach()
  46. volume.delete()
  47. @helpers.skipIfNoService(['block_store.volumes'])
  48. def test_azure_volume_create_snapshot(self):
  49. volume = self.provider.block_store.volumes.create("MyVolume", 1, description='My volume')
  50. self.assertTrue(
  51. volume.name == "MyVolume", "Volume name should be MyVolume")
  52. with self.assertRaises(NotImplementedError):
  53. snapshot = volume.create_snapshot("MySnap")
  54. self.assertTrue(
  55. snapshot is not None, "Snapshot not created")
  56. volume.delete()
  57. @helpers.skipIfNoService(['block_store.volumes'])
  58. def test_azure_volume_get_ifNotExist(self):
  59. volume_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure'\
  60. '/providers/Microsoft.Compute/disks/MyVolume123"
  61. volume = self.provider.block_store.volumes.get(volume_id)
  62. self.assertTrue(
  63. volume is None, "Volume should not be available")
  64. @helpers.skipIfNoService(['block_store.volumes'])
  65. def test_azure_volume_find(self):
  66. volumes = self.provider.block_store.volumes.find("Volume")
  67. self.assertTrue(
  68. len(volumes) == 2, "Volume should not be available")
  69. @helpers.skipIfNoService(['block_store.volumes'])
  70. def test_azure_volume_find_ifNotExist(self):
  71. volumes = self.provider.block_store.volumes.find("Volume123")
  72. self.assertTrue(
  73. len(volumes) == 0, "Volume should not be available")
  74. @helpers.skipIfNoService(['block_store.volumes'])
  75. def test_azure_volume_list(self):
  76. volume_list = self.provider.block_store.volumes.list()
  77. print("Volume List - " + str(volume_list))
  78. self.assertEqual(
  79. len(volume_list), 2)