X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ice_validator%2Ftests%2Fhelpers.py;h=57449452cb40336aa16c2902841b9869d1968704;hb=f257796cdb575d5079dce9738e31808c089f4cf3;hp=69190d83c44d804070de21b5c771863b9f49981f;hpb=8540eb59f7e7f8ff2043a8eaf7edfc255a60874a;p=vvp%2Fvalidation-scripts.git diff --git a/ice_validator/tests/helpers.py b/ice_validator/tests/helpers.py index 69190d8..5744945 100644 --- a/ice_validator/tests/helpers.py +++ b/ice_validator/tests/helpers.py @@ -41,6 +41,7 @@ """ import os +import re from collections import defaultdict from boltons import funcutils @@ -259,3 +260,50 @@ def check_indices(pattern, values, value_type): ).format(value_type, prefix, indices) ) return invalid_params + + +RE_BASE = re.compile(r"(^base$)|(^base_)|(_base_)|(_base$)") + + +def get_base_template_from_yaml_files(yaml_files): + """Return first filepath to match RE_BASE + """ + for filepath in yaml_files: + basename = get_base_template_from_yaml_file(filepath) + if basename: + return basename + return None + + +def get_base_template_from_yaml_file(yaml_file): + (dirname, filename) = os.path.split(yaml_file) + files = os.listdir(dirname) + for file in files: + basename, __ = os.path.splitext(os.path.basename(file)) + if ( + (__ == ".yaml" or __ == ".yml") + and RE_BASE.search(basename) + and basename.find("volume") == -1 + ): + return os.path.join(dirname, "{}{}".format(basename, __)) + return None + + +def parameter_type_to_heat_type(parameter): + # getting parameter format + if isinstance(parameter, list): + parameter_type = "comma_delimited_list" + elif isinstance(parameter, str): + parameter_type = "string" + elif isinstance(parameter, dict): + parameter_type = "json" + elif isinstance(parameter, int): + parameter_type = "number" + elif isinstance(parameter, float): + parameter_type = "number" + elif isinstance(parameter, bool): + parameter_type = "boolean" + else: + parameter_type = None + + return parameter_type