Преглед изворни кода

Network Service test cases and services.py change

Venkata.Veera пре 9 година
родитељ
комит
93f58a822c
2 измењених фајлова са 122 додато и 58 уклоњено
  1. 117 0
      azure_test/test_azure_network_service.py
  2. 5 58
      cloudbridge/cloud/providers/azure/services.py

+ 117 - 0
azure_test/test_azure_network_service.py

@@ -0,0 +1,117 @@
+import test.helpers as helpers
+from test.helpers import ProviderTestBase
+
+
+class AzureNetworkServiceTestCase(ProviderTestBase):
+    @helpers.skipIfNoService(['network'])
+    def test_azure_network_service_list(self):
+        networks = self.provider.network.list()
+        for network in networks:
+            print("List( " + "Name: " + network.name + ", Id: " +
+                  str(network.id) + ", State: " + network.state +
+                  ", Cidr_Block: " + str(network.cidr_block) + " )")
+        self.assertTrue(len(networks) == 2, "Count should be 2")
+
+    @helpers.skipIfNoService(['network'])
+    def test_azure_network_service_list_check_values(self):
+        networks = self.provider.network.list()
+        for network in networks:
+            print("List( " + "Name: " + network.name + ", Id: " +
+                  str(network.id) + ", State: " + network.state +
+                  ", Cidr_Block: " + str(network.cidr_block) + " )")
+        self.assertTrue(len(networks) == 2, "Count should be 2")
+        self.assertEqual(networks[0].id,
+                         '/subscriptions'
+                         '/7904d702-e01c-4826-8519-f5a25c866a96'
+                         '/resourceGroups/CLOUDBRIDGE-AZURE/providers'
+                         '/Microsoft.Network/virtualNetworks/CloudBridgeNet1')
+        self.assertEqual(networks[0].name, "CloudBridgeNet1")
+        self.assertEqual(networks[0].cidr_block,
+                         "{'address_prefixes': ['10.0.0.0/16']}")
+        self.assertEqual(networks[0].state, "available")
+        self.assertEqual(networks[1].id,
+                         '/subscriptions'
+                         '/7904d702-e01c-4826-8519-f5a25c866a96'
+                         '/resourceGroups/CLOUDBRIDGE-AZURE/providers'
+                         '/Microsoft.Network/virtualNetworks/CloudBridgeNet2')
+        self.assertEqual(networks[1].name, "CloudBridgeNet2")
+        self.assertEqual(networks[1].cidr_block,
+                         "{'address_prefixes': ['10.0.0.0/16']}")
+        self.assertEqual(networks[1].state, "unknown")
+
+    @helpers.skipIfNoService(['network'])
+    def test_azure_network_service_get_exist(self):
+        network = self.provider.network \
+            .get('/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'
+                 '/resourceGroups/CLOUDBRIDGE-AZURE/providers'
+                 '/Microsoft.Network/virtualNetworks/CloudBridgeNet1')
+        print("get exist: " + str(network))
+        self.assertEqual(network.id,
+                         '/subscriptions'
+                         '/7904d702-e01c-4826-8519-f5a25c866a96'
+                         '/resourceGroups/CLOUDBRIDGE-AZURE/providers'
+                         '/Microsoft.Network/virtualNetworks/CloudBridgeNet1')
+        self.assertEqual(network.name, "CloudBridgeNet1")
+        self.assertEqual(network.cidr_block,
+                         "{'address_prefixes': ['10.0.0.0/16']}")
+        self.assertEqual(network.state, "available")
+
+    @helpers.skipIfNoService(['network'])
+    def test_azure_network_service_get_doesnt_exist(self):
+        network = self.provider.network \
+            .get('/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'
+                 '/resourceGroups/CLOUDBRIDGE-AZURE/providers'
+                 '/Microsoft.Network/virtualNetworks/CloudBridgeNet10')
+        print("get does not exist: " + str(network))
+        self.assertEqual(
+            str(network), 'None')
+
+    @helpers.skipIfNoService(['network'])
+    def test_azure_network_service_get_with_invaid_networkid_throws(self):
+        with self.assertRaises(Exception) as context:
+            network = self.provider.network \
+                .get('invalidNetworkId')
+            print("Get with invalid network id: " + str(network))
+            self.assertTrue(
+                'Invalid url parameter passed' in context.exception)
+
+    @helpers.skipIfNoService(['network'])
+    def test_azure_network_service_create(self):
+        network = self.provider.network.create("CloudBridgeNet1")
+        print("create: " + str(network))
+        self.assertEqual(network.id,
+                         '/subscriptions'
+                         '/7904d702-e01c-4826-8519-f5a25c866a96'
+                         '/resourceGroups/CLOUDBRIDGE-AZURE/providers'
+                         '/Microsoft.Network/virtualNetworks/CloudBridgeNet1')
+        self.assertEqual(network.name, "CloudBridgeNet1")
+        self.assertEqual(network.cidr_block,
+                         "{'address_prefixes': ['10.0.0.0/16']}")
+        self.assertEqual(network.state, "available")
+
+    @helpers.skipIfNoService(['network'])
+    def test_azure_network_service_delete_networkid_exists(self):
+        network = self.provider.network.delete(
+            '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'
+            '/resourceGroups/CLOUDBRIDGE-AZURE/providers'
+            '/Microsoft.Network/virtualNetworks/CloudBridgeNet3')
+        print("Delete Network Id exist: " + str(network))
+        self.assertEqual(network, True)
+
+    @helpers.skipIfNoService(['network'])
+    def test_azure_network_service_delete_networkid_doesnotexist(self):
+        network = self.provider.network \
+            .delete('/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96'
+                    '/resourceGroups/CLOUDBRIDGE-AZURE/providers'
+                    '/Microsoft.Network/virtualNetworks/CloudBridgeNet10')
+        print("Delete Network Id does not exist: " + str(network))
+        self.assertEqual(network, False)
+
+    @helpers.skipIfNoService(['network'])
+    def test_azure_network_service_delete_with_invaid_networkid_throws(self):
+        with self.assertRaises(Exception) as context:
+            network = self.provider.network \
+                .delete('invalidNetworkId')
+            print("Delete with invalid network id: " + str(network))
+            self.assertTrue(
+                'Invalid url parameter passed' in context.exception)

+ 5 - 58
cloudbridge/cloud/providers/azure/services.py

@@ -5,30 +5,17 @@ from azure.common import AzureException
 
 from cloudbridge.cloud.base.resources import ClientPagedResultList
 from cloudbridge.cloud.base.services import BaseBlockStoreService, \
-<<<<<<< HEAD
-    BaseComputeService, BaseImageService, BaseInstanceTypesService, \
-    BaseNetworkService, BaseObjectStoreService, \
-    BaseSecurityGroupService, BaseSecurityService, \
-    BaseSnapshotService, BaseVolumeService
-=======
     BaseComputeService, BaseImageService, BaseNetworkService, \
     BaseObjectStoreService, BaseRegionService, BaseSecurityGroupService, \
     BaseSecurityService, BaseSnapshotService, BaseVolumeService
->>>>>>> 6ea3953... Added Region Service code changes
 from cloudbridge.cloud.interfaces.resources import PlacementZone, \
     Snapshot, Volume
 from cloudbridge.cloud.providers.azure import helpers as azure_helpers
 
 from msrestazure.azure_exceptions import CloudError
 
-<<<<<<< HEAD
-from .resources import AzureBucket, AzureInstanceType,\
-    AzureMachineImage, AzureNetwork, \
-    AzureSecurityGroup, \
-=======
 from .resources import AzureBucket, AzureMachineImage, \
     AzureNetwork, AzureRegion, AzureSecurityGroup, \
->>>>>>> 6ea3953... Added Region Service code changes
     AzureSnapshot, AzureVolume, \
     IMAGE_NAME, IMAGE_RESOURCE_ID, \
     NETWORK_NAME, NETWORK_RESOURCE_ID, \
@@ -238,8 +225,8 @@ class AzureVolumeService(BaseVolumeService):
                 'location': zone_id or self.provider.azure_client.region_name,
                 'disk_size_gb': size,
                 'creation_data': {
-                  'create_option': 'empty'
-                  },
+                    'create_option': 'empty'
+                },
                 'tags': tags}
 
             self.provider.azure_client.create_empty_disk(disk_name, params)
@@ -314,7 +301,7 @@ class AzureSnapshotService(BaseSnapshotService):
 class AzureComputeService(BaseComputeService):
     def __init__(self, provider):
         super(AzureComputeService, self).__init__(provider)
-        self._instance_type_svc = AzureInstanceTypesService(self.provider)
+        # self._instance_type_svc = AzureInstanceTypesService(self.provider)
         # self._instance_svc = AzureInstanceService(self.provider)
         self._region_svc = AzureRegionService(self.provider)
         self._images_svc = AzureImageService(self.provider)
@@ -325,7 +312,8 @@ class AzureComputeService(BaseComputeService):
 
     @property
     def instance_types(self):
-        return self._instance_type_svc
+        raise NotImplementedError('AzureComputeService not '
+                                  'implemented this method')
 
     @property
     def instances(self):
@@ -363,26 +351,6 @@ class AzureImageService(BaseImageService):
                                      limit=limit, marker=marker)
 
 
-class AzureInstanceTypesService(BaseInstanceTypesService):
-
-    def __init__(self, provider):
-        super(AzureInstanceTypesService, self).__init__(provider)
-
-    @property
-    def instance_data(self):
-        """
-        Fetch info about the available instances.
-        """
-        r = self.provider.azure_client.list_instance_types()
-        return r
-
-    def list(self, limit=None, marker=None):
-        inst_types = [AzureInstanceType(self.provider, inst_type)
-                      for inst_type in self.instance_data]
-        return ClientPagedResultList(self.provider, inst_types,
-                                     limit=limit, marker=marker)
-
-
 class AzureNetworkService(BaseNetworkService):
     def __init__(self, provider):
         super(AzureNetworkService, self).__init__(provider)
@@ -446,26 +414,6 @@ class AzureNetworkService(BaseNetworkService):
         raise NotImplementedError('AzureNetworkService '
                                   'not implemented this method')
 
-    def delete(self, network_id):
-        """
-<<<<<<< HEAD
-                Delete an existing network.
-                """
-=======
-            Delete an existing network.
-            """
->>>>>>> 6ea3953... Added Region Service code changes
-        try:
-            params = azure_helpers.parse_url(NETWORK_RESOURCE_ID, network_id)
-            network = self.provider.azure_client. \
-                delete_network(params.get(NETWORK_NAME))
-            return True if network else False
-        except CloudError as cloudError:
-            log.exception(cloudError.message)
-            return False
-
-<<<<<<< HEAD
-=======
 
 class AzureRegionService(BaseRegionService):
     def __init__(self, provider):
@@ -497,4 +445,3 @@ class AzureRegionService(BaseRegionService):
                 region = AzureRegion(self.provider, azureRegion)
                 break
         return region
->>>>>>> 6ea3953... Added Region Service code changes