Jelajahi Sumber

Refactored code as per PEP8 coding standards

vikramdoda 9 tahun lalu
induk
melakukan
a1dfe642c1

+ 1 - 1
cloudbridge/cloud/providers/azure/__init__.py

@@ -3,4 +3,4 @@ Exports from this provider
 """
 
 from .provider import AzureCloudProvider
-from .provider import MockAzureCloudProvider
+from .provider import MockAzureCloudProvider

+ 4 - 4
cloudbridge/cloud/providers/azure/azure_client.py

@@ -7,7 +7,7 @@ from azure.mgmt.network import NetworkManagementClient
 from azure.mgmt.resource import ResourceManagementClient
 from azure.mgmt.resource.subscriptions import SubscriptionClient
 from azure.mgmt.storage import StorageManagementClient
-from azure.storage.blob import BlockBlobService, PublicAccess
+from azure.storage.blob import BlockBlobService
 
 log = logging.getLogger(__name__)
 
@@ -147,9 +147,9 @@ class AzureClient(object):
         return self.blob_service.make_blob_url(container_name, blob_name)
 
     def get_blob_content(self, container_name, blob_name):
-        stream = BytesIO()
-        self.blob_service.get_blob_to_stream(container_name, blob_name, stream=stream)
-        return stream
+        out_stream = BytesIO()
+        self.blob_service.get_blob_to_stream(container_name, blob_name, out_stream)
+        return out_stream
 
     def create_empty_disk(self, disk_name, size, region=None, snapshot_id=None):
         if snapshot_id:

+ 20 - 15
cloudbridge/cloud/providers/azure/mock_azure_client.py

@@ -1,7 +1,7 @@
 from io import BytesIO
 
-from azure.common import AzureMissingResourceHttpError, AzureException
-from azure.mgmt.compute.models import Disk, CreationData, DiskCreateOption, Snapshot
+from azure.common import AzureException
+from azure.mgmt.compute.models import Disk, CreationData, DiskCreateOption
 from azure.mgmt.network.models import NetworkSecurityGroup
 from azure.mgmt.network.models import SecurityRule
 from azure.mgmt.resource.resources.models import ResourceGroup
@@ -10,8 +10,6 @@ from azure.storage.blob.models import Container, Blob
 from msrestazure.azure_exceptions import CloudError
 from requests import Response
 
-from cloudbridge.cloud.providers.azure import helpers as azure_helpers
-
 
 class MockAzureClient:
     sg_rule1 = SecurityRule(protocol='*', source_address_prefix='100', destination_address_prefix="*", access="Allow",
@@ -30,17 +28,20 @@ class MockAzureClient:
 
     sec_gr1 = NetworkSecurityGroup()
     sec_gr1.name = "sg1"
-    sec_gr1.id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg1"
+    sec_gr1.id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
+    '/providers/Microsoft.Network/networkSecurityGroups/sg1"
     sec_gr1.security_rules = [sg_rule1, sg_rule2]
 
     sec_gr2 = NetworkSecurityGroup()
     sec_gr2.name = "sg2"
-    sec_gr2.id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg2"
+    sec_gr2.id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
+    '/providers/Microsoft.Network/networkSecurityGroups/sg2"
     sec_gr2.security_rules = [sg_rule1, sg_rule2]
 
     sec_gr3 = NetworkSecurityGroup()
     sec_gr3.name = "sg3"
-    sec_gr3.id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg3"
+    sec_gr3.id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
+    '/providers/Microsoft.Network/networkSecurityGroups/sg3"
     sec_gr3.security_rules = [sg_rule1, sg_rule2]
 
     security_groups = [sec_gr1, sec_gr2, sec_gr3]
@@ -59,20 +60,21 @@ class MockAzureClient:
 
     block2 = Blob()
     block2.name = "block2"
-    block2.content ="blob2Content"
+    block2.content = "blob2Content"
 
     block3 = Blob()
     block3.name = "block3"
     block3.content = None
 
-    blocks = {'container1':[block1, block2, block3],
-              'container2':[block1, block2, block3]}
+    blocks = {'container1': [block1, block2, block3],
+              'container2': [block1, block2, block3]}
 
     rg = ResourceGroup(location='westus')
     rg.name = "testResourceGroup"
 
     volume1 = Disk(location='eastus', creation_data=None)
-    volume1.id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CLOUDBRIDGE-AZURE/providers/Microsoft.Compute/disks/Volume1'
+    volume1.id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CLOUDBRIDGE-AZURE' \
+                 '/providers/Microsoft.Compute/disks/Volume1'
     volume1.name = "Volume1"
     volume1.disk_size_gb = 1
     volume1.creation_data = CreationData(create_option=DiskCreateOption.empty)
@@ -81,7 +83,8 @@ class MockAzureClient:
     volume1.provisioning_state = 'InProgress'
 
     volume2 = Disk(location='eastus', creation_data=None)
-    volume2.id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CLOUDBRIDGE-AZURE/providers/Microsoft.Compute/disks/Volume2'
+    volume2.id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CLOUDBRIDGE-AZURE' \
+                 '/providers/Microsoft.Compute/disks/Volume2'
     volume2.name = "Volume2"
     volume2.disk_size_gb = 1
     volume2.creation_data = CreationData(create_option=DiskCreateOption.empty)
@@ -184,7 +187,7 @@ class MockAzureClient:
         blob = self.get_blob(container_name, blob_name)
         if blob.content:
             output = BytesIO()
-            output.write(bytearray(blob.content,'UTF-8'))
+            output.write(bytearray(blob.content, 'UTF-8'))
             return output
 
         return None
@@ -203,13 +206,15 @@ class MockAzureClient:
 
     def create_empty_disk(self, disk_name, size, region=None, snapshot_id=None):
         volume = Disk(location='eastus', creation_data=None)
-        volume.id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers/Microsoft.Compute/disks/{0}'.format(disk_name)
+        volume.id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure' \
+                    '/providers/Microsoft.Compute/disks/{0}'.format(disk_name)
         volume.name = disk_name
         volume.disk_size_gb = size
         volume.creation_data = CreationData(create_option=DiskCreateOption.empty)
         volume.time_created = '01-01-2017'
         volume.provisioning_state = 'Succeeded'
-        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' \
+                          's/providers/Microsoft.Compute/virtualMachines/ubuntu-intro1'
         self.volumes.append(volume)
         return volume
 

+ 7 - 8
cloudbridge/cloud/providers/azure/provider.py

@@ -43,14 +43,13 @@ class AzureCloudProvider(BaseCloudProvider):
         # create a dict with both optional and mandatory configuration values to pass to the azureclient class, rather
         # than passing the provider object and taking a dependency.
 
-        self.allconfig ={'azure_subscription_id': self.subscription_id,
-                         'azure_client_Id':  self.client_Id,
-                         'azure_secret': self.secret,
-                         'azure_tenant': self.tenant,
-                         'azure_region_name': self.region_name,
-                         'azure_resource_group':  self.resource_group,
-                         'azure_storage_account_name' : self.storage_account_name
-                         }
+        self.allconfig = {'azure_subscription_id': self.subscription_id,
+                          'azure_client_Id': self.client_Id,
+                          'azure_secret': self.secret,
+                          'azure_tenant': self.tenant,
+                          'azure_region_name': self.region_name,
+                          'azure_resource_group': self.resource_group,
+                          'azure_storage_account_name': self.storage_account_name}
 
         self._azure_client = azureclient or AzureClient(self.allconfig)
         try:

+ 44 - 34
cloudbridge/cloud/providers/azure/resources.py

@@ -15,33 +15,46 @@ from cloudbridge.cloud.base.resources import BaseBucket, BaseSecurityGroup, Base
 from cloudbridge.cloud.interfaces import VolumeState, SnapshotState, InstanceState
 from cloudbridge.cloud.interfaces.resources import Instance
 
-NETWORK_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'
-IMAGE_RESOURCE_ID =  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}'
-INSTANCE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}'
-VOLUME_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}'
-SNAPSHOT_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}'
-NETWORK_SECURITY_GROUP_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'
-NETWORK_SECURITY_RULE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'
-SUBNET_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'
-PUBLIC_IP_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'
-ROUTE_TABLE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'
-ROUTE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'
-NETWORK_INTERFACE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'
-
-RESOURCE_GROUP_NAME='resourceGroupName'
-SUBSCRIPTION_ID='subscriptionId'
-NETWORK_NAME='virtualNetworkName'
-IMAGE_NAME='imageName'
-VM_NAME='vmName'
-VOLUME_NAME ='diskName'
-SNAPSHOT_NAME ='snapshotName'
-SECURITY_GROUP_NAME='networkSecurityGroupName'
-SECURITY_GROUP_RULE_NAME ='securityRuleName'
+NETWORK_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                      '/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'
+IMAGE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                    '/providers/Microsoft.Compute/images/{imageName}'
+INSTANCE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                       '/providers/Microsoft.Compute/virtualMachines/{vmName}'
+VOLUME_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                     '/providers/Microsoft.Compute/disks/{diskName}'
+SNAPSHOT_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                       '/providers/Microsoft.Compute/snapshots/{snapshotName}'
+NETWORK_SECURITY_GROUP_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                                     '/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'
+NETWORK_SECURITY_RULE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                                    '/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}' \
+                                    '/securityRules/{securityRuleName}'
+SUBNET_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                     '/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'
+PUBLIC_IP_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                        '/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'
+ROUTE_TABLE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                          '/providers/Microsoft.Network/routeTables/{routeTableName}'
+ROUTE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                    '/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'
+NETWORK_INTERFACE_RESOURCE_ID = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' \
+                                '/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'
+
+RESOURCE_GROUP_NAME = 'resourceGroupName'
+SUBSCRIPTION_ID = 'subscriptionId'
+NETWORK_NAME = 'virtualNetworkName'
+IMAGE_NAME = 'imageName'
+VM_NAME = 'vmName'
+VOLUME_NAME = 'diskName'
+SNAPSHOT_NAME = 'snapshotName'
+SECURITY_GROUP_NAME = 'networkSecurityGroupName'
+SECURITY_GROUP_RULE_NAME = 'securityRuleName'
 SUBNET_NAME = 'subnetName'
 PUBLIC_IP_NAME = 'publicIpAddressName'
 ROUTE_TABLE_NAME = 'routeTableName'
 ROUTE_NAME = 'routeName'
-NETWORK_INTERFACE_NAME ='networkInterfaceName'
+NETWORK_INTERFACE_NAME = 'networkInterfaceName'
 
 
 class AzureSecurityGroup(BaseSecurityGroup):
@@ -128,13 +141,13 @@ class AzureSecurityGroup(BaseSecurityGroup):
             if (rule.ip_protocol == ip_protocol and
                         rule.from_port == str(from_port) and
                         rule.to_port == str(to_port) and
-               rule.cidr_ip == cidr_ip):
+                        rule.cidr_ip == cidr_ip):
                 return rule
         return None
 
     def to_json(self):
-        attr = inspect.getmembers(self, lambda a: not(inspect.isroutine(a)))
-        js = {k: v for(k, v) in attr if not k.startswith('_')}
+        attr = inspect.getmembers(self, lambda a: not (inspect.isroutine(a)))
+        js = {k: v for (k, v) in attr if not k.startswith('_')}
         json_rules = [r.to_json() for r in self.rules]
         js['rules'] = [json.loads(r) for r in json_rules]
         if js.get('network_id'):
@@ -143,7 +156,6 @@ class AzureSecurityGroup(BaseSecurityGroup):
 
 
 class AzureSecurityGroupRule(BaseSecurityGroupRule):
-
     def __init__(self, provider, rule, parent):
         super(AzureSecurityGroupRule, self).__init__(provider, rule, parent)
 
@@ -184,8 +196,8 @@ class AzureSecurityGroupRule(BaseSecurityGroupRule):
         return self.parent
 
     def to_json(self):
-        attr = inspect.getmembers(self, lambda a: not(inspect.isroutine(a)))
-        js = {k: v for(k, v) in attr if not k.startswith('_')}
+        attr = inspect.getmembers(self, lambda a: not (inspect.isroutine(a)))
+        js = {k: v for (k, v) in attr if not k.startswith('_')}
         js['group'] = self.group.id if self.group else ''
         js['parent'] = self.parent.id if self.parent else ''
         return json.dumps(js, sort_keys=True)
@@ -200,7 +212,6 @@ class AzureSecurityGroupRule(BaseSecurityGroupRule):
 
 
 class AzureBucketObject(BaseBucketObject):
-
     def __init__(self, provider, container, key):
         super(AzureBucketObject, self).__init__(provider)
         self._container = container
@@ -284,7 +295,6 @@ class AzureBucketObject(BaseBucketObject):
 
 
 class AzureBucket(BaseBucket):
-
     def __init__(self, provider, bucket):
         super(AzureBucket, self).__init__(provider)
         self._bucket = bucket
@@ -318,7 +328,8 @@ class AzureBucket(BaseBucket):
         :return: List of all available BucketObjects within this bucket.
         """
         objects = [AzureBucketObject(self._provider, self, obj)
-                  for obj in self._provider.azure_client.list_blobs(self.name) if not prefix or prefix and obj.name.startswith(prefix) ]
+                   for obj in self._provider.azure_client.list_blobs(self.name) if
+                   not prefix or prefix and obj.name.startswith(prefix)]
         return ClientPagedResultList(self._provider, objects,
                                      limit=limit, marker=marker)
 
@@ -333,7 +344,7 @@ class AzureBucket(BaseBucket):
             return False
 
     def create_object(self, name):
-        obj = self._provider.azure_client.create_blob_from_text(self.name, name,'')
+        obj = self._provider.azure_client.create_blob_from_text(self.name, name, '')
         return self.get(name)
 
     def exists(self, name):
@@ -344,7 +355,6 @@ class AzureBucket(BaseBucket):
 
 
 class AzureVolume(BaseVolume):
-
     VOLUME_STATE_MAP = {
         'InProgress': VolumeState.CREATING,
         'Unattached': VolumeState.AVAILABLE,

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

@@ -85,7 +85,8 @@ class AzureSecurityGroupService(BaseSecurityGroupService):
         """
         filters = {'name': name}
         sgs = [AzureSecurityGroup(self.provider, security_group)
-                           for security_group in azure_helpers.filter(self.provider.azure_client.list_security_group(), filters)]
+               for security_group in azure_helpers.filter(
+                self.provider.azure_client.list_security_group(), filters)]
 
         return ClientPagedResultList(self.provider, sgs,
                                      limit=limit, marker=marker)

+ 1 - 1
integration_test/__init__.py

@@ -31,7 +31,7 @@ from integration_test.test_integration_azure_object_store_service import AzureIn
 from integration_test.test_integration_azure_security_group import AzureIntegrationSecurityServiceTestCase
 from integration_test.test_integration_azure_volume_service import AzureIntegrationVolumeServiceTestCase
 
-PROVIDER_TESTS ={'azure': [
+PROVIDER_TESTS = {'azure': [
     AzureIntegrationObjectStoreServiceTestCase,
     AzureIntegrationSecurityServiceTestCase,
     AzureIntegrationVolumeServiceTestCase

+ 7 - 4
integration_test/test_integration_azure_object_store_service.py

@@ -19,10 +19,11 @@ class AzureIntegrationObjectStoreServiceTestCase(helpers.ProviderTestBase):
         containers_count1 = len(self.provider.object_store.list())
 
         container = self.provider.object_store.create(container_name)
-        self.assertTrue(container is not None , 'Container {0} not created'.format(container_name))
+        self.assertTrue(container is not None, 'Container {0} not created'.format(container_name))
 
         containers_count2 = len(self.provider.object_store.list())
-        self.assertTrue(containers_count2 > containers_count1, 'Container {0} not present in list'.format(container_name))
+        self.assertTrue(containers_count2 > containers_count1,
+                        'Container {0} not present in list'.format(container_name))
 
         find_container = self.provider.object_store.find(container_name)
         self.assertTrue(len(find_container) == 1, 'Container {0} not found'.format(container_name))
@@ -37,7 +38,8 @@ class AzureIntegrationObjectStoreServiceTestCase(helpers.ProviderTestBase):
         self.assertTrue(obj_count == 1, 'Object count should be 1')
 
         get_obj = container.get(object_name)
-        self.assertTrue(get_obj is not None, 'Unable to get object {0} from container {1}.'.format(object_name, container_name))
+        self.assertTrue(get_obj is not None,
+                        'Unable to get object {0} from container {1}.'.format(object_name, container_name))
 
         exits = container.exists(object_name)
         self.assertTrue(exits, 'Object {0} not exists in container {1}'.format(object_name, container_name))
@@ -74,7 +76,8 @@ class AzureIntegrationObjectStoreServiceTestCase(helpers.ProviderTestBase):
 
         obj.delete()
         delete_obj = container.get(object_name)
-        self.assertTrue(delete_obj is None, 'Object {0} not deleted from container {1}'.format(object_name,container_name))
+        self.assertTrue(delete_obj is None,
+                        'Object {0} not deleted from container {1}'.format(object_name, container_name))
 
         container.delete()
         deleted_container = self.provider.object_store.get(container.id)

+ 16 - 9
integration_test/test_integration_azure_security_group.py

@@ -7,6 +7,7 @@ from cloudbridge.cloud.interfaces import TestMockHelperMixin
 from test.helpers import ProviderTestBase
 import test.helpers as helpers
 
+
 class AzureIntegrationSecurityServiceTestCase(ProviderTestBase):
     def __init__(self, methodName, provider):
         super(AzureIntegrationSecurityServiceTestCase, self).__init__(
@@ -19,24 +20,27 @@ class AzureIntegrationSecurityServiceTestCase(ProviderTestBase):
 
         listBeforeCreate = self.provider.security.security_groups.list()
         print("Length Before create - " + str(len(listBeforeCreate)))
-        netId = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/virtualNetworks/SampleNetwork"
+        netId = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
+        '/providers/Microsoft.Network/virtualNetworks/SampleNetwork"
         sg = self.provider.security.security_groups.create(name=sg_name, description="testCreateSecGroup",
                                                            network_id=netId)
         self.assertEqual(sg_name, sg.name)
 
         listAfterCreate = self.provider.security.security_groups.list()
         print("Length After create - " + str(len(listAfterCreate)))
-        self.assertEqual( len(listAfterCreate) , len(listBeforeCreate)+1)
+        self.assertEqual(len(listAfterCreate), len(listBeforeCreate) + 1)
 
         get = self.provider.security.security_groups.get(
-            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sampleSG")
+            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers'\
+            '/Microsoft.Network/networkSecurityGroups/sampleSG")
         print("Get SG - " + str(get))
         print(str(get.rules))
         self.assertEqual(get.name, "sampleSG")
 
         get_notfound = self.provider.security.security_groups.get(
-            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers/Microsoft.Network/networkSecurityGroups/SecgrupDontFindMe")
-        self.assertEqual(get_notfound , None)
+            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure'\
+            '/providers/Microsoft.Network/networkSecurityGroups/SecgrupDontFindMe")
+        self.assertEqual(get_notfound, None)
 
         find_exists_list = self.provider.security.security_groups.find(sg_name)
         for sg in find_exists_list:
@@ -74,12 +78,15 @@ class AzureIntegrationSecurityServiceTestCase(ProviderTestBase):
             cb.rules[1].delete()
 
         listBeforeDeleteFound = self.provider.security.security_groups.list()
-        sg_del = self.provider.security.security_groups.delete("/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers/Microsoft.Network/networkSecurityGroups/"+sg_name)
+        sg_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers'\
+        '/Microsoft.Network/networkSecurityGroups/" + sg_name
+        sg_del = self.provider.security.security_groups.delete(sg_id)
         listAfterDeleteFound = self.provider.security.security_groups.list()
         print("Length before delete - " + str(len(listBeforeDeleteFound)))
         print("Length after delete - " + str(len(listAfterDeleteFound)))
         self.assertEqual(len(listAfterDeleteFound), len(listBeforeDeleteFound)-1)
-
-        sg_del_notfound = self.provider.security.security_groups.delete("/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers/Microsoft.Network/networkSecurityGroups/sg5")
+        sg_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers'\
+        '/Microsoft.Network/networkSecurityGroups/sg5"
+        sg_del_notfound = self.provider.security.security_groups.delete(sg_id)
         listAfterDeleteNotFound = self.provider.security.security_groups.list()
-        self.assertEqual(len(listAfterDeleteNotFound), len(listAfterDeleteFound))
+        self.assertEqual(len(listAfterDeleteNotFound), len(listAfterDeleteFound))

+ 3 - 3
integration_test/test_integration_azure_volume_service.py

@@ -22,7 +22,7 @@ class AzureIntegrationVolumeServiceTestCase(helpers.ProviderTestBase):
         volume = self.provider.block_store.volumes.create(volume_name, 1)
         volume.wait_till_ready()
         self.assertTrue(volume is not None, 'Volume not created')
-        volume_id= volume.id
+        volume_id = volume.id
 
         volume_list_after_create = self.provider.block_store.volumes.list()
         print(str(len(volume_list_after_create)))
@@ -39,10 +39,10 @@ class AzureIntegrationVolumeServiceTestCase(helpers.ProviderTestBase):
         self.assertEqual(
             len(volume_find), 1)
         # volume.attach('/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Compute/virtualMachines/ubuntu-intro2')
-        #TODO: Add logic to verify that disk is attached to instance
+        # TODO: Add logic to verify that disk is attached to instance
 
         # volume.detach()
-        #TODO: Add logic to verify that disk is not in use
+        # TODO: Add logic to verify that disk is not in use
 
         with self.assertRaises(NotImplementedError):
             snapshot = volume.create_snapshot(snapshot_name)

+ 5 - 10
test/test_azure_object_store_service.py

@@ -12,7 +12,7 @@ class AzureObjectStoreServiceTestCase(ProviderTestBase):
         container = self.provider.object_store.create("container3")
         print("Create - " + str(container))
         self.assertEqual(
-            str(container) , "<CB-AzureBucket: container3>")
+            str(container), "<CB-AzureBucket: container3>")
 
     @helpers.skipIfNoService(['object_store'])
     def test_azure_bucket_list(self):
@@ -26,11 +26,11 @@ class AzureObjectStoreServiceTestCase(ProviderTestBase):
         container = self.provider.object_store.find("container")
         print("Find Exist - " + str(container))
         self.assertEqual(
-            len(container) ,2)
+            len(container), 2)
 
     @helpers.skipIfNoService(['object_store'])
     def test_azure_bucket_find_NotExist(self):
-        ## For testing the case when container does not exist
+        # For testing the case when container does not exist
         container = self.provider.object_store.find("container23")
         print("Find Not Exist - " + str(container))
         self.assertEqual(
@@ -49,7 +49,7 @@ class AzureObjectStoreServiceTestCase(ProviderTestBase):
         container = self.provider.object_store.get("container23")
         print("Get Not Exist - " + str(container))
         self.assertEqual(
-            str(container) , 'None')
+            str(container), 'None')
 
     @helpers.skipIfNoService(['object_store'])
     def test_azure_bucket_delete(self):
@@ -69,7 +69,6 @@ class AzureObjectStoreServiceTestCase(ProviderTestBase):
         self.assertEqual(
             str(contDel), '<CB-AzureBucketObject: block1>')
 
-
     @helpers.skipIfNoService(['object_store'])
     def test_azure_bucket_object_exists__internalE(self):
         containers = self.provider.object_store.find("container2")
@@ -88,7 +87,6 @@ class AzureObjectStoreServiceTestCase(ProviderTestBase):
         self.assertEqual(
             str(contDel), 'False')
 
-
     @helpers.skipIfNoService(['object_store'])
     def test_azure_bucket_object_list(self):
         containers = self.provider.object_store.find("container2")
@@ -98,7 +96,6 @@ class AzureObjectStoreServiceTestCase(ProviderTestBase):
         self.assertEqual(
             len(contDel), 2)
 
-
     @helpers.skipIfNoService(['object_store'])
     def test_azure_bucket_object_get(self):
         containers = self.provider.object_store.find("container2")
@@ -117,7 +114,7 @@ class AzureObjectStoreServiceTestCase(ProviderTestBase):
         content = block.iter_content()
         print("Iter content  - " + str(content))
         self.assertEqual(
-            content.getvalue(), b'blob2Content' )
+            content.getvalue(), b'blob2Content')
 
     @helpers.skipIfNoService(['object_store'])
     def test_azure_bucket_object_iter_content_ifBlobNotExists(self):
@@ -148,7 +145,6 @@ class AzureObjectStoreServiceTestCase(ProviderTestBase):
         self.assertEqual(
             len(cont.list()), 2)
 
-
     @helpers.skipIfNoService(['object_store'])
     def test_azure_bucket_object_upload_from_file(self):
         containers = self.provider.object_store.find("container2")
@@ -159,7 +155,6 @@ class AzureObjectStoreServiceTestCase(ProviderTestBase):
         self.assertEqual(
             block.iter_content().getvalue(), b'blob2Content')
 
-
     @helpers.skipIfNoService(['object_store'])
     def test_azure_bucket_object_generate_url(self):
         containers = self.provider.object_store.find("container2")

+ 9 - 5
test/test_azure_security_service.py

@@ -44,7 +44,8 @@ class AzureSecurityServiceTestCase(ProviderTestBase):
     @helpers.skipIfNoService(['security.security_groups'])
     def test_azure_security_group_get_found(self):
         sgl = self.security_groups.get(
-            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg3")
+            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
+            '/providers/Microsoft.Network/networkSecurityGroups/sg3")
         print("Get ( " + "Name - " + sgl.name + "  Id - " + sgl.id + " )")
         self.assertTrue(
             sgl.name == "sg3",
@@ -53,23 +54,26 @@ class AzureSecurityServiceTestCase(ProviderTestBase):
     @helpers.skipIfNoService(['security.security_groups'])
     def test_azure_security_group_get_not_found(self):
         sgl = self.security_groups.get(
-            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg4")
+            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
+            '/providers/Microsoft.Network/networkSecurityGroups/sg4")
         print(str(sgl))
         self.assertTrue(
-            sgl == None,
+            sgl is None,
             "Security group does not exist. Should return None.")
 
     @helpers.skipIfNoService(['security.security_groups'])
     def test_azure_security_group_delete_IdExists(self):
         sg = self.security_groups.delete(
-            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg2")
+            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
+            '/providers/Microsoft.Network/networkSecurityGroups/sg2")
         print("Delete - ")
         self.assertEqual(sg, True)
 
     @helpers.skipIfNoService(['security.security_groups'])
     def test_azure_security_group_delete_IdNotExist(self):
         sg = self.security_groups.delete(
-            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg5")
+            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
+            '/providers/Microsoft.Network/networkSecurityGroups/sg5")
         self.assertEqual(sg, False)
 
     @helpers.skipIfNoService(['security.security_groups'])

+ 13 - 11
test/test_azure_volume_service.py

@@ -9,13 +9,14 @@ class AzureVolumeServiceTestCase(ProviderTestBase):
 
     @helpers.skipIfNoService(['block_store.volumes'])
     def test_azure_volume_create_and_get(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 Volume - " + str(volume))
         self.assertTrue(
-            volume.name == "MyVolume" , "Volume name should be MyVolume")
+            volume.name == "MyVolume", "Volume name should be MyVolume")
 
         volume = self.provider.block_store.volumes.get(
-            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers/Microsoft.Compute/disks/MyVolume")
+            "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers'\
+            '/Microsoft.Compute/disks/MyVolume")
         print("Get Volume  - " + str(volume))
         self.assertTrue(
             volume.name == "MyVolume", "Volume name should be MyVolume")
@@ -27,10 +28,11 @@ class AzureVolumeServiceTestCase(ProviderTestBase):
         volume = self.provider.block_store.volumes.create("MyVolume", 1)
         volume.refresh()
         print("Create Volume - " + str(volume))
-        self.assertTrue(
-            volume.name == "MyVolume", "Volume name should be MyVolume")
+        self.assertTrue(volume.name == "MyVolume", "Volume name should be MyVolume")
         volume.delete()
-        volume1 = self.provider.block_store.volumes.get("/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers/Microsoft.Compute/disks/MyVolume")
+        volume1_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure' \
+                     '/providers/Microsoft.Compute/disks/MyVolume"
+        volume1 = self.provider.block_store.volumes.get(volume1_id)
         self.assertTrue(
             volume1 is None, "Volume still exists")
 
@@ -39,7 +41,8 @@ class AzureVolumeServiceTestCase(ProviderTestBase):
         volume = self.provider.block_store.volumes.create("MyVolume", 1, description='My volume')
         self.assertTrue(
             volume.name == "MyVolume", "Volume name should be MyVolume")
-        volume.attach('/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Compute/virtualMachines/ubuntu-intro1')
+        volume.attach("/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure'\
+                      '/providers/Microsoft.Compute/virtualMachines/ubuntu-intro1")
         volume.delete()
 
     @helpers.skipIfNoService(['block_store.volumes'])
@@ -62,10 +65,11 @@ class AzureVolumeServiceTestCase(ProviderTestBase):
 
         volume.delete()
 
-
     @helpers.skipIfNoService(['block_store.volumes'])
     def test_azure_volume_get_ifNotExist(self):
-        volume = self.provider.block_store.volumes.get("/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure/providers/Microsoft.Compute/disks/MyVolume123")
+        volume_id = "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/cloudbridge-azure'\
+            '/providers/Microsoft.Compute/disks/MyVolume123"
+        volume = self.provider.block_store.volumes.get(volume_id)
         self.assertTrue(
             volume is None, "Volume should not be available")
 
@@ -81,8 +85,6 @@ class AzureVolumeServiceTestCase(ProviderTestBase):
         self.assertTrue(
             len(volumes) == 0, "Volume should not be available")
 
-
-
     @helpers.skipIfNoService(['block_store.volumes'])
     def test_azure_volume_list(self):
         volume_list = self.provider.block_store.volumes.list()