diff options
author | stark, steven <steven.stark@att.com> | 2019-01-28 14:59:01 -0800 |
---|---|---|
committer | stark, steven <steven.stark@att.com> | 2019-01-29 08:03:41 -0800 |
commit | 48a07b6942d3956666d30947372653feb702fdae (patch) | |
tree | 5a5fc3135f2703ad19543b78e661ea954e98bb33 /ice_validator/tests/test_all_parameters_used_in_template.py | |
parent | 43130f8b173d9053ad4f56f264376851d3fb890c (diff) |
[VVP] stand alone tool, script updates
1) Validation script updates:
Various bug fixes and script enhancements
New tests for:
R-18683
R-94669
R-304011
R-01455
R-86476
R-708564
R-85734
R-18683
R-94669
R-304011
R-01455
R-86476
R-86476
R-589037
Removed tests for:
R-75202
R-62954
R-22441
R-49177
R-16576
R-86237
R-44491
R-70757
R-01896
R-26124
2) Stand Alone tool introduced
3) Added optional "categories" capability
Change-Id: I193cd5c267750791d97b350e91fc36faa72d8d5f
Issue-ID: VVP-143
Signed-off-by: stark, steven <steven.stark@att.com>
Diffstat (limited to 'ice_validator/tests/test_all_parameters_used_in_template.py')
-rw-r--r-- | ice_validator/tests/test_all_parameters_used_in_template.py | 51 |
1 files changed, 13 insertions, 38 deletions
diff --git a/ice_validator/tests/test_all_parameters_used_in_template.py b/ice_validator/tests/test_all_parameters_used_in_template.py index 41356d4..44fe9da 100644 --- a/ice_validator/tests/test_all_parameters_used_in_template.py +++ b/ice_validator/tests/test_all_parameters_used_in_template.py @@ -2,7 +2,7 @@ # ============LICENSE_START==================================================== # org.onap.vvp/validation-scripts # =================================================================== -# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# Copyright © 2019 AT&T Intellectual Property. All rights reserved. # =================================================================== # # Unless otherwise specified, all software contained herein is licensed @@ -35,46 +35,21 @@ # # ============LICENSE_END============================================ # -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# - -import pytest -from tests import cached_yaml as yaml - -from .helpers import validates -from .utils.nested_iterables import find_all_get_param_in_yml +import re -VERSION = "1.0.0" +from tests.helpers import validates, load_yaml +from tests.utils.nested_iterables import find_all_get_param_in_yml -# pylint: disable=invalid-name +AVAILABILITY_ZONE = re.compile(r"availability_zone_?\d*") @validates("R-90279") def test_all_parameters_used_in_template(yaml_file): - - invalid_params = [] - get_params = [] - skip_params = ["availability_zone"] - - with open(yaml_file, "r") as f: - yml = yaml.load(f) - - template_parameters = yml.get("parameters") - if not template_parameters: - pytest.skip("no parameters found in template") - - get_params = find_all_get_param_in_yml(yml) - if not get_params: - pytest.skip("no get_params found in template") - - template_parameters = list(template_parameters.keys()) - for param in template_parameters: - for sparam in skip_params: - if param.find(sparam) != -1: - template_parameters.remove(param) - - invalid_params = set(template_parameters) - set(get_params) - - assert not invalid_params, "Unused parameters detected in template {}".format( - invalid_params - ) + yml = load_yaml(yaml_file) + params = (yml.get("parameters") or {}).keys() + expected_params = {p for p in params if not AVAILABILITY_ZONE.match(p)} + used_params = set(find_all_get_param_in_yml(yml)) + unused_params = expected_params.difference(used_params) + + msg = "Unused parameters detected in template {}".format(unused_params) + assert not unused_params, msg |