X-Git-Url: https://gerrit.onap.org/r/gitweb?p=vvp%2Fvalidation-scripts.git;a=blobdiff_plain;f=ice_validator%2Ftests%2Ftest_heat_parameter_section.py;fp=ice_validator%2Ftests%2Ftest_heat_parameter_section.py;h=a2264167541a9126d4caa67fe951fb5e4bef151d;hp=dde4176295266a307df9fe167447ab7390c5fc48;hb=60d5ad7d00eadd6395eca186e6fa76a43df3c6cf;hpb=31d5da59b39d38760cc519a2c5e5b70357b539e8 diff --git a/ice_validator/tests/test_heat_parameter_section.py b/ice_validator/tests/test_heat_parameter_section.py index dde4176..a226416 100644 --- a/ice_validator/tests/test_heat_parameter_section.py +++ b/ice_validator/tests/test_heat_parameter_section.py @@ -1,5 +1,5 @@ # -*- coding: utf8 -*- -# ============LICENSE_START======================================================= +# ============LICENSE_START==================================================== # org.onap.vvp/validation-scripts # =================================================================== # Copyright © 2018 AT&T Intellectual Property. All rights reserved. @@ -37,45 +37,28 @@ # # ECOMP is a trademark and service mark of AT&T Intellectual Property. # -from .helpers import validates -import pytest -import re -import yaml - -# one or more (alphanumeric or underscore) -RE_VALID_PARAMETER_NAME = re.compile(r"[\w_]+$") +"""parameters +""" -def test_parameter_valid_keys(yaml_file): - """ - Make sure each parameter is a dict and only contain - valid keys - """ - key_values = ["type", "label", "description", "hidden", "constraints", "immutable"] +import re - with open(yaml_file) as fh: - yml = yaml.load(fh) +import pytest +from tests import cached_yaml as yaml - # skip if parameters are not defined - if "parameters" not in yml: - pytest.skip("No parameters specified in the heat template") +from .helpers import validates - invalid_params = [] - for v1 in yml["parameters"].values(): - if not isinstance(v1, dict): - continue - detected_keys = set(v1) & set(key_values) - if set(v1) != set(detected_keys): - invalid_params.append(str(v1)) +VERSION = '1.0.0' - assert not set(invalid_params) +# one or more (alphanumeric or underscore) +RE_VALID_PARAMETER_NAME = re.compile(r'[\w_]+$') -@validates("R-90526") +@validates('R-90526') def test_default_values(yaml_file): - """ + ''' Make sure no default values are set for any parameter. - """ + ''' with open(yaml_file) as fh: yml = yaml.load(fh) @@ -87,19 +70,19 @@ def test_default_values(yaml_file): for v1 in yml["parameters"].values(): if not isinstance(v1, dict): continue - if any(k == "default" for k in v1): + if any(k == 'default' for k in v1): invalid_params.append(str(v1)) assert not set(invalid_params) -@validates("R-25877") +@validates('R-25877') def test_parameter_names(yaml_file): - """ + ''' A VNF's Heat Orchestration Template's parameter name (i.e., ) **MUST** contain only alphanumeric characters and underscores ('_'). - """ + ''' with open(yaml_file) as fh: yml = yaml.load(fh) @@ -107,7 +90,9 @@ def test_parameter_names(yaml_file): if "parameters" not in yml: pytest.skip("No parameters specified in the heat template") - for key in yml["parameters"]: - assert RE_VALID_PARAMETER_NAME.match( - key - ), '%s parameter "%s" not alphanumeric or underscore' % (yaml_file, key) + for key in yml['parameters']: + assert RE_VALID_PARAMETER_NAME.match(key), ( + '%s parameter "%s" not alphanumeric or underscore' % ( + yaml_file, + key)) +