From 31d5da59b39d38760cc519a2c5e5b70357b539e8 Mon Sep 17 00:00:00 2001 From: "stark, steven" Date: Thu, 13 Sep 2018 16:49:43 -0700 Subject: [VVP] udpating scripts for casablanca adding new "infrastructure" scripts addresses bugs VVP-100, VVP-101, VVP-102 adding base tests updating tests where arguments have changed Adds traceability for task VVP-92 Change-Id: I067d8e80934403039e66fbc9fc93766587f67b4e Issue-ID: VVP-80 Signed-off-by: stark, steven --- ..._unused_parameters_between_env_and_templates.py | 38 ++++++++++++++++++---- 1 file changed, 32 insertions(+), 6 deletions(-) (limited to 'ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py') diff --git a/ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py b/ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py index 781f35d..81cfc9a 100644 --- a/ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py +++ b/ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py @@ -37,13 +37,39 @@ # # ECOMP is a trademark and service mark of AT&T Intellectual Property. # -from .helpers import validates +import os +import pytest +from .helpers import validates, get_environment_pair + +@pytest.mark.heat_only @validates('R-90279', 'R-01896', 'R-26124') -def test_no_unused_parameters_between_env_and_templates(environment_pair): - ''' +def test_no_unused_parameters_between_env_and_templates(heat_template): + """ Check all defined parameters are used in the appropiate Heat template. - ''' - assert (set(environment_pair["eyml"]['parameters']) == - set(environment_pair["yyml"]['parameters'])) + """ + environment_pair = get_environment_pair(heat_template) + if not environment_pair: + pytest.skip("No heat/env pair could be identified") + + env_parameters = set(environment_pair["eyml"]["parameters"].keys()) + template_parameters = set(environment_pair["yyml"]["parameters"].keys()) + + extra_in_template = template_parameters.difference(env_parameters) + extra_in_env = env_parameters.difference(template_parameters) + + msg = "Mismatched parameters detected for the template and environment pair " \ + "with basename ({basename}). " + if extra_in_env: + msg += "The following parameters exist in the env file, but not the " \ + "template: {extra_in_env}. " + if extra_in_template: + msg += "The following parameters exist in the template file, but not the " \ + "environment file: {extra_in_template}" + + assert not (extra_in_template or extra_in_env), msg.format( + basename=os.path.split(environment_pair["name"])[-1], + extra_in_env=", ".join(extra_in_env), + extra_in_template=", ".join(extra_in_template) + ) -- cgit 1.2.3-korg