X-Git-Url: https://gerrit.onap.org/r/gitweb?p=vvp%2Fvalidation-scripts.git;a=blobdiff_plain;f=ice_validator%2Ftests%2Ftest_availability_zone.py;h=33d07e1b0a98b637c63b7e002021e1b3402d70d5;hp=77f1c569db67d7e561c28282ac410cb14ffff64d;hb=60d5ad7d00eadd6395eca186e6fa76a43df3c6cf;hpb=0feaec6790274f87c2d35a039676a3b1c2702a4d diff --git a/ice_validator/tests/test_availability_zone.py b/ice_validator/tests/test_availability_zone.py index 77f1c56..33d07e1 100644 --- a/ice_validator/tests/test_availability_zone.py +++ b/ice_validator/tests/test_availability_zone.py @@ -1,12 +1,12 @@ # -*- coding: utf8 -*- -# ============LICENSE_START======================================================= +# ============LICENSE_START==================================================== # org.onap.vvp/validation-scripts # =================================================================== # Copyright © 2017 AT&T Intellectual Property. All rights reserved. # =================================================================== # # Unless otherwise specified, all software contained herein is licensed -# under the Apache License, Version 2.0 (the “License”); +# under the Apache License, Version 2.0 (the "License"); # you may not use this software except in compliance with the License. # You may obtain a copy of the License at # @@ -21,7 +21,7 @@ # # # Unless otherwise specified, all documentation contained herein is licensed -# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# under the Creative Commons License, Attribution 4.0 Intl. (the "License"); # you may not use this documentation except in compliance with the License. # You may obtain a copy of the License at # @@ -37,12 +37,18 @@ # # ECOMP is a trademark and service mark of AT&T Intellectual Property. # -from .helpers import validates +"""test +""" -import pytest -import yaml import re +import pytest +from tests import cached_yaml as yaml + +from .helpers import validates + +VERSION = '1.1.0' + @validates('R-98450') def test_availability_zone_naming(heat_template): @@ -57,7 +63,7 @@ def test_availability_zone_naming(heat_template): if "resources" not in yml: pytest.skip("No resources specified in the heat template") - invalid_availability_zones = [] + invalid_availability_zones = set() for k1, v1 in yml["resources"].items(): if not isinstance(v1, dict): @@ -71,8 +77,14 @@ def test_availability_zone_naming(heat_template): for k2, v2 in v1["properties"].items(): if k2 != 'availability_zone': continue + 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"]): + invalid_availability_zones.add(v2["get_param"]) - if not re.match(r'availability_zone_\d+', v2["get_param"]): - invalid_availability_zones.append(v2["get_param"]) + assert not invalid_availability_zones, ( + 'invalid availability zones %s' % list( + invalid_availability_zones)) - assert not set(invalid_availability_zones)