[VVP] Allow lists in test_availability_zone
[vvp/validation-scripts.git] / ice_validator / tests / test_availability_zone.py
index 33d07e1..7feefc9 100644 (file)
@@ -35,7 +35,6 @@
 #
 # ============LICENSE_END============================================
 #
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
 #
 """test
 """
@@ -47,16 +46,16 @@ from tests import cached_yaml as yaml
 
 from .helpers import validates
 
-VERSION = '1.1.0'
+VERSION = "1.1.0"
 
 
-@validates('R-98450')
-def test_availability_zone_naming(heat_template):
-    '''
+@validates("R-98450")
+def test_availability_zone_naming(yaml_file):
+    """
     Make sure all availability zones are properly formatted
-    '''
+    """
 
-    with open(heat_template) as fh:
+    with open(yaml_file) as fh:
         yml = yaml.load(fh)
 
     # skip if resources are not defined
@@ -75,16 +74,18 @@ def test_availability_zone_naming(heat_template):
 
         if v1["type"] == "OS::Nova::Server":
             for k2, v2 in v1["properties"].items():
-                if k2 != 'availability_zone':
+                if k2 != "availability_zone":
                     continue
-                if 'str_replace' in v2:
+                if "str_replace" in v2:
                     continue
                 if "get_param" not in v2:
                     invalid_availability_zones.add(k1)
-                elif not re.match(r'availability_zone_\d+', v2["get_param"]):
+                    continue
+                if not isinstance(v2["get_param"], str):
+                    continue
+                if not re.match(r"availability_zone_\d+", v2["get_param"]):
                     invalid_availability_zones.add(v2["get_param"])
 
-    assert not invalid_availability_zones, (
-        'invalid availability zones %s' % list(
-            invalid_availability_zones))
-
+    assert not invalid_availability_zones, "invalid availability zones %s" % list(
+        invalid_availability_zones
+    )