aboutsummaryrefslogtreecommitdiffstats
path: root/ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py
diff options
context:
space:
mode:
authorstark, steven <ss820f@att.com>2018-09-13 16:49:43 -0700
committerstark, steven <ss820f@att.com>2018-09-13 17:21:45 -0700
commit31d5da59b39d38760cc519a2c5e5b70357b539e8 (patch)
tree7298d118aefb1e7494afa5cbedaa5e499b78373d /ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py
parent8de26dd1cc9ed33c3ab85a5014ac949f174db932 (diff)
[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 <ss820f@att.com>
Diffstat (limited to 'ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py')
-rw-r--r--ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py38
1 files changed, 32 insertions, 6 deletions
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)
+ )