diff options
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.py | 93 |
1 files changed, 0 insertions, 93 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 deleted file mode 100644 index 333e01e..0000000 --- a/ice_validator/tests/test_no_unused_parameters_between_env_and_templates.py +++ /dev/null @@ -1,93 +0,0 @@ -# -*- coding: utf8 -*- -# ============LICENSE_START======================================================= -# org.onap.vvp/validation-scripts -# =================================================================== -# Copyright © 2018 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"); -# you may not use this software except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# -# -# Unless otherwise specified, all documentation contained herein is licensed -# 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 -# -# https://creativecommons.org/licenses/by/4.0/ -# -# Unless required by applicable law or agreed to in writing, documentation -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ============LICENSE_END============================================ -# -import os -import pytest - -from .helpers import validates, get_environment_pair - - -def get_keys(template, key): - """ - Gets the set of keys from an expected dict from the ``template`` mapped to - the ``key``. If the key is not found, or is not a dict, then an empty - set is returned - """ - value = template.get(key) - if not value or not hasattr(value, "keys"): - return set() - else: - return set(value.keys()) - - -@pytest.mark.heat_only -@validates("R-01896", "R-26124") -def test_no_unused_parameters_between_env_and_templates(heat_template): - """ - Check all defined parameters are used in the appropriate Heat template. - """ - environment_pair = get_environment_pair(heat_template) - if not environment_pair: - pytest.skip("No heat/env pair could be identified") - - env_parameters = get_keys(environment_pair["eyml"], "parameters") - template_parameters = get_keys(environment_pair["yyml"], "parameters") - - 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 " - "({basename}). Ensure the parameters exist in both " - "templates indented under their respective parameters sections. " - ) - 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), - ) |