test_integration_azure_volume_service.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import uuid
  2. import azure_integration_test.helpers as helpers
  3. class AzureIntegrationVolumeServiceTestCase(helpers.ProviderTestBase):
  4. @helpers.skipIfNoService(['block_store'])
  5. def test_azure_volume_service(self):
  6. volume_name = '{0}'.format(uuid.uuid4().hex[:6])
  7. snapshot_name = '{0}'.format(uuid.uuid4().hex[:6])
  8. volume_list_before_create = self.provider.block_store.volumes.list()
  9. print(str(len(volume_list_before_create)))
  10. volume = self.provider.block_store.volumes.create(volume_name, 1)
  11. volume.wait_till_ready()
  12. self.assertTrue(volume is not None, 'Volume not created')
  13. volume_id = volume.id
  14. volume_list_after_create = self.provider.block_store.volumes.list()
  15. print(str(len(volume_list_after_create)))
  16. self.assertTrue(
  17. len(volume_list_after_create), len(volume_list_before_create) + 1)
  18. volume = self.provider.block_store.volumes.get(volume_id)
  19. print("Get Volume - " + str(volume))
  20. self.assertTrue(
  21. volume.name == volume_name, "Volume name should be MyVolume")
  22. volume_find = self.provider.block_store.volumes.find(volume_name)
  23. print("Find Volume - " + str(volume))
  24. self.assertEqual(
  25. len(volume_find), 1)
  26. instance_id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96' \
  27. '/resourceGroups/CloudBridge-Azure/providers'\
  28. '/Microsoft.Compute/virtualMachines/ubuntu-intro1'
  29. volume.attach(instance_id)
  30. # TODO: Add logic to verify that disk is attached to instance
  31. volume.detach()
  32. # TODO: Add logic to verify that disk is not in use
  33. snapshot = volume.create_snapshot(snapshot_name)
  34. self.assertTrue(snapshot is not None,
  35. 'Snapshot {0} not created'.format(snapshot_name))
  36. snapshot.delete()
  37. volume.refresh()
  38. self.assertTrue(volume.id == volume_id,
  39. 'Volume id should match on refresh')
  40. volume_list_before_delete = self.provider.block_store.volumes.list()
  41. print(str(len(volume_list_before_delete)))
  42. volume.delete()
  43. volume_list_after_delete = self.provider.block_store.volumes.list()
  44. print(str(len(volume_list_after_delete)))
  45. self.assertTrue(len(volume_list_after_delete),
  46. len(volume_list_before_delete) - 1)