Procházet zdrojové kódy

Removed support for empty/None label & Added test for invalid find parameter

almahmoud před 7 roky
rodič
revize
a129e44f03

+ 1 - 1
cloudbridge/cloud/base/resources.py

@@ -76,7 +76,7 @@ class BaseCloudResource(CloudResource):
     @staticmethod
     def is_valid_resource_label(label):
         if not label:
-            return True
+            return False
         else:
             return (True if BaseCloudResource.CB_LABEL_PATTERN.match(label)
                     else False)

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

@@ -322,7 +322,7 @@ class AzureClient(object):
                         self._storage_account = \
                             self.create_storage_account(self.storage_account,
                                                         storage_account_params)
-                    except CloudError as cloud_error2: # pragma: no cover
+                    except CloudError as cloud_error2:  # pragma: no cover
                         if cloud_error2.error.error == "AuthorizationFailed":
                             mess = 'The following error was returned by ' \
                                    'Azure:\n%s\n\nThis is likely because the' \

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

@@ -130,7 +130,7 @@ class AzureCloudProvider(BaseCloudProvider):
                     self._azure_client.\
                         create_resource_group(self.resource_group,
                                               resource_group_params)
-                except CloudError as cloud_error2: # pragma: no cover
+                except CloudError as cloud_error2:  # pragma: no cover
                     if cloud_error2.error.error == "AuthorizationFailed":
                         mess = 'The following error was returned by Azure:\n' \
                                '%s\n\nThis is likely because the Role' \

+ 1 - 0
setup.cfg

@@ -3,6 +3,7 @@ branch = True
 source = cloudbridge
 omit =
   cloudbridge/cloud/interfaces/*
+  __init__.py
 
 [nosetests]
 with-coverage=1

+ 5 - 4
test/helpers/standard_interface_tests.py

@@ -88,6 +88,8 @@ def check_find_non_existent(test, service, obj):
         find_objs = service.find(label="random_imagined_obj_name")
     else:
         find_objs = service.find(name="random_imagined_obj_name")
+    with test.assertRaises(TypeError):
+        service.find(notaparameter="random_imagined_obj_name")
     test.assertTrue(
         len(find_objs) == 0,
         "Find non-existent object for %s returned unexpected objects: %s"
@@ -141,12 +143,11 @@ def check_obj_label(test, obj):
     if isinstance(label_property, property):
         test.assertIsInstance(obj, LabeledCloudResource)
         original_label = obj.label
-        # A none value should be allowed
-        obj.label = None
-        # Assigning None should result in a None or empty string
-        test.assertFalse(obj.label)
         VALID_LABEL = u"hello-world-123"
         obj.label = VALID_LABEL
+        # A none value should not be allowed
+        with test.assertRaises(InvalidLabelException):
+            obj.label = None
         # setting spaces should raise an exception
         with test.assertRaises(InvalidLabelException):
             obj.label = "hello world"