test_azure_volume_service.py 3.8 KB

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