From 48a07b6942d3956666d30947372653feb702fdae Mon Sep 17 00:00:00 2001 From: "stark, steven" Date: Mon, 28 Jan 2019 14:59:01 -0800 Subject: [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 --- .../tests/test_all_parameters_used_in_template.py | 51 ++++++---------------- 1 file changed, 13 insertions(+), 38 deletions(-) (limited to 'ice_validator/tests/test_all_parameters_used_in_template.py') 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 -- cgit 1.2.3-korg