Add get validation playbook function and cleanup
Remove unsed function and add get validation playbook function Change-Id: I5fbcbab7a402dd1149fa6df718f530a3ee5c6af2
This commit is contained in:
@@ -41,9 +41,3 @@ class TestUtils(TestCase):
|
|||||||
res = self.vlog.get_validations_stats(
|
res = self.vlog.get_validations_stats(
|
||||||
fakes.VALIDATIONS_LOGS_CONTENTS_LIST)
|
fakes.VALIDATIONS_LOGS_CONTENTS_LIST)
|
||||||
self.assertEqual(res, fakes.VALIDATIONS_STATS)
|
self.assertEqual(res, fakes.VALIDATIONS_STATS)
|
||||||
|
|
||||||
@mock.patch('validations_libs.utils.parse_all_validations_on_disk',
|
|
||||||
return_value=fakes.VALIDATIONS_LIST)
|
|
||||||
def test_get_validations_details(self, mock_parse):
|
|
||||||
res = utils.get_validations_details('my_val1')
|
|
||||||
self.assertEqual(res, fakes.VALIDATIONS_LIST[0])
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import six
|
import six
|
||||||
|
|
||||||
|
from os import listdir
|
||||||
|
from os.path import isfile, join
|
||||||
from validations_libs import constants
|
from validations_libs import constants
|
||||||
from validations_libs.group import Group
|
from validations_libs.group import Group
|
||||||
from validations_libs.validation import Validation
|
from validations_libs.validation import Validation
|
||||||
@@ -63,6 +65,24 @@ def parse_all_validations_on_disk(path, groups=None):
|
|||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
|
def get_validations_playbook(path, validation_id, groups=None):
|
||||||
|
"""
|
||||||
|
Return a list of validations playbook
|
||||||
|
Can be sorted by Groups
|
||||||
|
"""
|
||||||
|
if isinstance(groups, six.string_types):
|
||||||
|
groups = [groups]
|
||||||
|
pl = []
|
||||||
|
for f in listdir(path):
|
||||||
|
pl_path = join(path, f)
|
||||||
|
if isfile(pl_path):
|
||||||
|
if os.path.splitext(f)[0] in validation_id:
|
||||||
|
val = Validation(pl_path)
|
||||||
|
if not groups or set(groups).intersection(val.groups):
|
||||||
|
pl.append(pl_path)
|
||||||
|
return pl
|
||||||
|
|
||||||
|
|
||||||
def get_validation_parameters(validation):
|
def get_validation_parameters(validation):
|
||||||
"""Return dictionary of parameters"""
|
"""Return dictionary of parameters"""
|
||||||
return Validation(validation).get_vars
|
return Validation(validation).get_vars
|
||||||
|
|||||||
@@ -65,11 +65,11 @@ class ValidationActions(object):
|
|||||||
|
|
||||||
self.log = logging.getLogger(__name__ + ".run_validations")
|
self.log = logging.getLogger(__name__ + ".run_validations")
|
||||||
|
|
||||||
|
if playbook:
|
||||||
if isinstance(playbook, list):
|
if isinstance(playbook, list):
|
||||||
playbooks = playbook
|
playbooks = playbook
|
||||||
elif isinstance(playbook, str):
|
elif isinstance(playbook, str):
|
||||||
playbooks = []
|
playbooks = [playbook]
|
||||||
playbooks.append(playbook)
|
|
||||||
else:
|
else:
|
||||||
raise TypeError("Playbooks should be a List or a Str")
|
raise TypeError("Playbooks should be a List or a Str")
|
||||||
|
|
||||||
@@ -83,16 +83,11 @@ class ValidationActions(object):
|
|||||||
playbooks.append(val.get('id') + '.yaml')
|
playbooks.append(val.get('id') + '.yaml')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise(e)
|
raise(e)
|
||||||
|
|
||||||
elif validation_name:
|
elif validation_name:
|
||||||
for pb in validation_name:
|
playbooks = v_utils.get_validations_playbook(
|
||||||
if pb not in v_utils.get_validation_group_name_list():
|
(validations_dir if validations_dir
|
||||||
playbooks.append(pb + '.yaml')
|
else constants.ANSIBLE_VALIDATION_DIR),
|
||||||
else:
|
validation_name, group)
|
||||||
raise("Please, use '--group' argument instead of "
|
|
||||||
"'--validation' to run validation(s) by their "
|
|
||||||
"name(s)."
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
raise RuntimeError("No validations found")
|
raise RuntimeError("No validations found")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user