Parcourir la source

Get Volume implemeted with Unit tests.

jatin il y a 9 ans
Parent
commit
f7e7509ed5

+ 25 - 0
cloudbridge/cloud/providers/azure/mock_azure_client.py

@@ -70,6 +70,24 @@ class MockAzureClient:
     rg = ResourceGroup(location='westus')
     rg = ResourceGroup(location='westus')
     rg.name = "testResourceGroup"
     rg.name = "testResourceGroup"
 
 
+    volume1 = Disk(location='eastus', creation_data=None)
+    volume1.id = 'Volume1'
+    volume1.name = "Volume1"
+    volume1.disk_size_gb = 1
+    volume1.creation_data = CreationData(create_option=DiskCreateOption.empty)
+    volume1.time_created = '20-04-2017'
+    volume1.owner_id = 'ubuntu-intro1'
+
+    volume2 = Disk(location='eastus', creation_data=None)
+    volume2.id = 'Volume2'
+    volume2.name = "Volume2"
+    volume2.disk_size_gb = 1
+    volume2.creation_data = CreationData(create_option=DiskCreateOption.empty)
+    volume2.time_created = '20-04-2017'
+    volume2.owner_id = 'ubuntu-intro2'
+
+    volumes = [volume1, volume2]
+
     def __init__(self, provider):
     def __init__(self, provider):
         self._provider = provider
         self._provider = provider
 
 
@@ -177,6 +195,13 @@ class MockAzureClient:
         volume.creation_data = CreationData(create_option=DiskCreateOption.empty)
         volume.creation_data = CreationData(create_option=DiskCreateOption.empty)
         volume.time_created = '01-01-2017'
         volume.time_created = '01-01-2017'
         volume.owner_id ='/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Compute/virtualMachines/ubuntu-intro1'
         volume.owner_id ='/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Compute/virtualMachines/ubuntu-intro1'
+        self.volumes.append(volume)
         return volume
         return volume
 
 
+    def get_disk(self, disk_name):
+        for volume in self.volumes:
+            if volume.name == disk_name:
+                return volume
+        return None
+
 
 

+ 2 - 1
cloudbridge/cloud/providers/azure/services.py

@@ -147,7 +147,8 @@ class AzureVolumeService(BaseVolumeService):
         super(AzureVolumeService, self).__init__(provider)
         super(AzureVolumeService, self).__init__(provider)
 
 
     def get(self, volume_id):
     def get(self, volume_id):
-        raise NotImplementedError('AzureVolumeService not imeplemented this method')
+        volume = self.provider.azure_client.get_disk(volume_id)
+        return AzureVolume(self.provider, volume)
 
 
     def find(self, name, limit=None, marker=None):
     def find(self, name, limit=None, marker=None):
         raise NotImplementedError('AzureVolumeService not imeplemented this method')
         raise NotImplementedError('AzureVolumeService not imeplemented this method')

+ 5 - 3
test/test_azure_volume_service.py

@@ -17,15 +17,17 @@ class AzureVolumeServiceTestCase(ProviderTestBase):
     @helpers.skipIfNoService(['block_store.volumes'])
     @helpers.skipIfNoService(['block_store.volumes'])
     def test_azure_volume_create(self):
     def test_azure_volume_create(self):
         volume = self.provider.block_store.volumes.create("MyVolume",1, description='My volume')
         volume = self.provider.block_store.volumes.create("MyVolume",1, description='My volume')
-        print("Create - " + str(volume))
+        print("Create Volume - " + str(volume))
         self.assertTrue(
         self.assertTrue(
             volume.name == "MyVolume" , "Volume name should be MyVolume")
             volume.name == "MyVolume" , "Volume name should be MyVolume")
 
 
 
 
     @helpers.skipIfNoService(['block_store.volumes'])
     @helpers.skipIfNoService(['block_store.volumes'])
     def test_azure_volume_get(self):
     def test_azure_volume_get(self):
-        with self.assertRaises(NotImplementedError):
-            volume = self.provider.block_store.volumes.get("MyVolume")
+        volume = self.provider.block_store.volumes.get("MyVolume")
+        print("Get Volume  - " + str(volume))
+        self.assertTrue(
+            volume.name == "MyVolume", "Volume name should be MyVolume")
 
 
     @helpers.skipIfNoService(['block_store.volumes'])
     @helpers.skipIfNoService(['block_store.volumes'])
     def test_azure_volume_find(self):
     def test_azure_volume_find(self):