test_azure_snapshots_service.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import azure_test.helpers as helpers
  2. from azure_test.helpers import ProviderTestBase
  3. from cloudbridge.cloud.interfaces import SnapshotState
  4. class AzureSnapshotsServiceTestCase(ProviderTestBase):
  5. @helpers.skipIfNoService(['block_store.snapshots'])
  6. def test_azure_snapshot_create_and_get(self):
  7. volume_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'\
  8. '/resourceGroups/cloudbridge-azure'\
  9. '/providers/Microsoft.Compute/disks/MySnapshotDisk123"
  10. snapshot = self.provider.block_store. \
  11. snapshots.create("MySnapshot",
  12. volume_id)
  13. snapshot.description = 'My snapshot'
  14. print("Create Snapshot - " + str(snapshot))
  15. self.assertTrue(
  16. snapshot.name == "MySnapshot",
  17. "Snapshot name should be MySnapshot")
  18. self.assertIsNotNone(snapshot.description)
  19. self.assertIsNotNone(snapshot.name)
  20. self.assertIsNotNone(snapshot.size)
  21. self.assertIsNotNone(snapshot.volume_id)
  22. self.assertIsNotNone(snapshot.create_time)
  23. snapshot.name = 'MySnapNewName'
  24. snapshot = self.provider.block_store.snapshots.get(snapshot.id)
  25. print("Get Snapshot - " + str(snapshot))
  26. self.assertTrue(
  27. snapshot.name == "MySnapNewName",
  28. "Snapshot name should be MySnapshot")
  29. snapshot.delete()
  30. @helpers.skipIfNoService(['block_store.snapshots'])
  31. def test_azure_snapshot_delete(self):
  32. volume_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'\
  33. '/resourceGroups/cloudbridge-azure'\
  34. '/providers/Microsoft.Compute/disks/MyDisk"
  35. snapshot = self.provider.block_store. \
  36. snapshots.create("MySnapshot",
  37. volume_id, description='My snapshot')
  38. snapshot.refresh()
  39. print("Create Snapshot - " + str(snapshot))
  40. self.assertTrue(
  41. snapshot.name == "MySnapshot",
  42. "Snapshot name should be MySnapshot")
  43. snapshot.delete()
  44. delete_snapshot = snapshot.delete()
  45. self.assertEqual(delete_snapshot, False)
  46. snapshot.refresh()
  47. self.assertEqual(snapshot.state, SnapshotState.UNKNOWN)
  48. snapshot_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'\
  49. '/resourceGroups/cloudbridge-azure'\
  50. '/providers/Microsoft.Compute/snapshots/MySnapshot"
  51. snapshot1 = self.provider.block_store.snapshots.get(snapshot_id)
  52. self.assertTrue(
  53. snapshot1 is None, "Snapshot still exists")
  54. @helpers.skipIfNoService(['block_store.snapshots'])
  55. def test_azure_snapshot_create_volume(self):
  56. volume_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'\
  57. '/resourceGroups/cloudbridge-azure'\
  58. '/providers/Microsoft.Compute/disks/MyDisk"
  59. snapshot = self.provider.block_store. \
  60. snapshots.create("MySnapshot",
  61. volume_id,
  62. description='My snapshot')
  63. self.assertTrue(
  64. snapshot.name == "MySnapshot",
  65. "Snapshot name should be MySnapshot")
  66. volume = snapshot.create_volume("MyVolume")
  67. self.assertTrue(
  68. volume is not None, "Snapshot not created")
  69. volume.delete()
  70. snapshot.delete()
  71. @helpers.skipIfNoService(['block_store.snapshots'])
  72. def test_azure_snapshot_get_ifNotExist(self):
  73. snapshot_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'\
  74. '/resourceGroups/cloudbridge-azure'\
  75. '/providers/Microsoft.Compute/snapshots/MySnapshot123"
  76. snapshot = self.provider.block_store.snapshots.get(snapshot_id)
  77. self.assertTrue(
  78. snapshot is None, "Snapshot should not be available")
  79. @helpers.skipIfNoService(['block_store.snapshots'])
  80. def test_azure_snapshot_find(self):
  81. with self.assertRaises(NotImplementedError):
  82. snapshots = self.provider.block_store.snapshots.find("Snapshot")
  83. self.assertTrue(
  84. len(snapshots) == 2, "Snapshot should not be available")
  85. @helpers.skipIfNoService(['block_store.snapshots'])
  86. def test_azure_snapshot_find_ifNotExist(self):
  87. with self.assertRaises(NotImplementedError):
  88. snapshots = self.provider.block_store.snapshots.find("Snapshot123")
  89. self.assertTrue(
  90. len(snapshots) == 0, "Snapshot should not be available")
  91. @helpers.skipIfNoService(['block_store.snapshots'])
  92. def test_azure_snapshots_list(self):
  93. snapshot_list = self.provider \
  94. .block_store.snapshots.list()
  95. print("Snapshot List - " + str(snapshot_list))
  96. self.assertTrue(
  97. snapshot_list.total_results > 0)