diff --git a/validations_libs/utils.py b/validations_libs/utils.py index e32feae4..3f1c87df 100644 --- a/validations_libs/utils.py +++ b/validations_libs/utils.py @@ -165,3 +165,16 @@ def get_validations_stats(log): "Failed: {}".format(total_number, passed_number, failed_number)} + + +def get_validations_parameters(validations_data, validation_name=[], + groups=[]): + params = {} + for val in validations_data['validations']: + v = Validation(val) + if v.id in validation_name or set(groups).intersection(v.groups): + params[v.id] = { + 'parameters': (val.get('metadata') if val.get('metadata') else + val.get('parameters')) + } + return params diff --git a/validations_libs/validation.py b/validations_libs/validation.py index e4a54160..3124bd5d 100644 --- a/validations_libs/validation.py +++ b/validations_libs/validation.py @@ -35,8 +35,9 @@ class Validation(object): @property def get_metadata(self): - self.metadata = {'id': self.id} - self.metadata.update(self.dict['vars']['metadata']) + if self.dict['vars'].get('metadata'): + self.metadata = {'id': self.id} + self.metadata.update(self.dict['vars'].get('metadata')) return self.metadata @property @@ -52,7 +53,7 @@ class Validation(object): @property def groups(self): - return self.dict['vars']['metadata']['groups'] + return self.dict['vars']['metadata'].get('groups') @property def get_id(self): diff --git a/validations_libs/validation_actions.py b/validations_libs/validation_actions.py index b1758786..5ec1769d 100644 --- a/validations_libs/validation_actions.py +++ b/validations_libs/validation_actions.py @@ -136,3 +136,12 @@ class ValidationActions(object): group_info.append((gp[0], gp[1], len(validations))) column_name = ("Groups", "Description", "Number of Validations") return (column_name, group_info) + + def show_validations_parameters(self, validation, group=None): + """Return Validations Parameters""" + validations = v_utils.parse_all_validations_on_disk( + constants.ANSIBLE_VALIDATION_DIR) + + return v_utils.get_validations_parameters({'validations': validations}, + validation, + group)