X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ice_validator%2Ftests%2Ftest_environment_file_structure.py;h=3b8763bb9a57ce6d4eaaa50dae34d6d2bbf1b69c;hb=9c7ab065e6477c035ffc6addf384abcef2e9588a;hp=7213e3bf28784879d03bd098f38f10e35cbd3ad1;hpb=c42086a36bbfaf9286e1c08330f25d1b06a35f4b;p=vvp%2Fvalidation-scripts.git diff --git a/ice_validator/tests/test_environment_file_structure.py b/ice_validator/tests/test_environment_file_structure.py index 7213e3b..3b8763b 100644 --- a/ice_validator/tests/test_environment_file_structure.py +++ b/ice_validator/tests/test_environment_file_structure.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 # @@ -35,65 +35,28 @@ # # ============LICENSE_END============================================ # -# ECOMP is a trademark and service mark of AT&T Intellectual Property. # -from .helpers import validates -import yaml -import pytest +""" environment file structure +""" -def test_environment_structure(env_file): - ''' - Check that all environments files only have the allowed sections - ''' - key_values = ["parameters", "event_sinks", "encrypted_parameters", - "parameter_merge_strategies"] - - with open(env_file) as fh: - yml = yaml.load(fh) - assert any(map(lambda v: v in yml, key_values)) +from tests import cached_yaml as yaml +from .helpers import validates -@validates('R-03324') -def test_environment_file_contains_required_sections(env_file): - ''' - Check that all environments files only have the allowed sections - ''' - required_key_values = ["parameters"] +VERSION = "1.0.0" - with open(env_file) as fh: - yml = yaml.load(fh) - assert any(map(lambda v: v in yml, required_key_values)) +# pylint: disable=invalid-name -def test_environment_file_sections_have_the_right_format(env_file): - ''' - Check that all environment files have sections of the right format. - Do note that it only tests for dicts or not dicts currently. - ''' - key_values = ["parameters", "event_sinks", "encrypted_parameters", - "parameter_merge_strategies"] - key_values_not_dicts = ["event_sinks"] +@validates("R-03324") +def test_environment_file_contains_required_sections(env_file): + """ + Check that all environments files only have the allowed sections + """ + required_keys = ["parameters"] with open(env_file) as fh: yml = yaml.load(fh) - - if not any(map(lambda v: v in yml, key_values)): - pytest.skip('The fixture is not applicable for this test') - - is_dict = 0 - should_be_dict = 0 - is_not_dict = 0 - should_not_be_dict = 0 - for key_value in key_values: - if key_value in yml: - if isinstance(yml[key_value], dict): - is_dict += 1 - if key_value not in key_values_not_dicts: - should_be_dict += 1 - elif not isinstance(yml[key_value], list): - is_not_dict += 1 - if key_value in key_values_not_dicts: - should_not_be_dict += 1 - assert (is_dict == should_be_dict and - is_not_dict == should_not_be_dict) + missing_keys = [v for v in required_keys if v not in yml] + assert not missing_keys, "%s missing %s" % (env_file, missing_keys)