X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ice_validator%2Ftests%2Ftest_heat_template_structure.py;h=da2de5e1abf7ee52892207ba1435c48dbcb69b8e;hb=d8ffed96caada0308ac2ee3f4daf90b7aacb5137;hp=32b448e4a1f47c8ba490c0f1da315f27f755c860;hpb=60d5ad7d00eadd6395eca186e6fa76a43df3c6cf;p=vvp%2Fvalidation-scripts.git diff --git a/ice_validator/tests/test_heat_template_structure.py b/ice_validator/tests/test_heat_template_structure.py index 32b448e..da2de5e 100644 --- a/ice_validator/tests/test_heat_template_structure.py +++ b/ice_validator/tests/test_heat_template_structure.py @@ -35,98 +35,94 @@ # # ============LICENSE_END============================================ # -# ECOMP is a trademark and service mark of AT&T Intellectual Property. # """Test heat template structure """ +import pytest from tests import cached_yaml as yaml -from .helpers import validates +from .helpers import validates, is_base_module, load_yaml -VERSION = '1.2.0' +VERSION = "1.2.0" # pylint: disable=invalid-name -@validates('R-27078') +@validates("R-27078") def test_heat_template_structure_contains_heat_template_version(yaml_file): - ''' + """ Check that all heat templates have the required sections - ''' + """ required_key_values = ["heat_template_version"] with open(yaml_file) as fh: yml = yaml.load(fh) - assert all([k in yml for k in required_key_values]), ( - "{} doesn't contain the {} section, but it is required" - .format(yaml_file, required_key_values[0])) + assert all( + [k in yml for k in required_key_values] + ), "{} doesn't contain the {} section, but it is required".format( + yaml_file, required_key_values[0] + ) -@validates('R-39402') +@validates("R-39402") def test_heat_template_structure_contains_description(yaml_file): - ''' + """ Check that all heat templates have the required sections - ''' + """ required_key_values = ["description"] with open(yaml_file) as fh: yml = yaml.load(fh) - assert all([k in yml for k in required_key_values]), ( - "{} doesn't contain the {} section, but it is required" - .format(yaml_file, required_key_values[0])) + assert all( + [k in yml for k in required_key_values] + ), "{} doesn't contain the {} section, but it is required".format( + yaml_file, required_key_values[0] + ) -@validates('R-35414') +@validates("R-35414") def test_heat_template_structure_contains_parameters(yaml_file): - ''' + """ Check that all heat templates have the required sections - ''' + """ required_key_values = ["parameters"] with open(yaml_file) as fh: yml = yaml.load(fh) - assert all([k in yml for k in required_key_values]), ( - "{} doesn't contain the {} section, but it is required" - .format(yaml_file, required_key_values[0])) + assert all( + [k in yml for k in required_key_values] + ), "{} doesn't contain the {} section, but it is required".format( + yaml_file, required_key_values[0] + ) -@validates('R-23664') +@validates("R-23664") def test_heat_template_structure_contains_resources(heat_template): - ''' + """ Check that all heat templates have the required sections - ''' - required_key_values = ["resources"] - - with open(heat_template) as fh: - yml = yaml.load(fh) - assert all([k in yml for k in required_key_values]), ( - "{} doesn't contain the {} section, but it is required" - .format(heat_template, required_key_values[0])) + """ + if is_base_module(heat_template): + pytest.skip("Not applicable to base modules") + template = load_yaml(heat_template) + assert "resources" in template, "This template must contain a resources section" -@validates('R-11441') +@validates("R-11441") def test_parameter_type(yaml_file): - '''A VNF's Heat Orchestration Template's parameter type **MUST** + """A VNF's Heat Orchestration Template's parameter type **MUST** be one of the following values: - ''' - types = ['string', - 'number', - 'json', - 'comma_delimited_list', - 'boolean'] + """ + types = ["string", "number", "json", "comma_delimited_list", "boolean"] with open(yaml_file) as fh: yml = yaml.load(fh) - for key, param in yml.get('parameters', {}).items(): - assert isinstance(param, dict), '%s parameter %s is not dict' % ( - yaml_file, - key) - assert 'type' in param, '%s parameter %s has no "type"' % ( - yaml_file, - key) - typ = param['type'] + for key, param in yml.get("parameters", {}).items(): + assert isinstance(param, dict), "%s parameter %s is not dict" % (yaml_file, key) + if "type" not in param: + continue + typ = param["type"] assert typ in types, '%s parameter %s has invalid type "%s"' % ( yaml_file, key, - typ) - + typ, + )