Add get validation playbook function and cleanup
Remove unsed function and add get validation playbook function Change-Id: I5fbcbab7a402dd1149fa6df718f530a3ee5c6af2
This commit is contained in:
parent
e367d62445
commit
c98ea9195a
|
@ -41,9 +41,3 @@ class TestUtils(TestCase):
|
|||
res = self.vlog.get_validations_stats(
|
||||
fakes.VALIDATIONS_LOGS_CONTENTS_LIST)
|
||||
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 six
|
||||
|
||||
from os import listdir
|
||||
from os.path import isfile, join
|
||||
from validations_libs import constants
|
||||
from validations_libs.group import Group
|
||||
from validations_libs.validation import Validation
|
||||
|
@ -63,6 +65,24 @@ def parse_all_validations_on_disk(path, groups=None):
|
|||
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):
|
||||
"""Return dictionary of parameters"""
|
||||
return Validation(validation).get_vars
|
||||
|
|
|
@ -65,13 +65,13 @@ class ValidationActions(object):
|
|||
|
||||
self.log = logging.getLogger(__name__ + ".run_validations")
|
||||
|
||||
if isinstance(playbook, list):
|
||||
playbooks = playbook
|
||||
elif isinstance(playbook, str):
|
||||
playbooks = []
|
||||
playbooks.append(playbook)
|
||||
else:
|
||||
raise TypeError("Playbooks should be a List or a Str")
|
||||
if playbook:
|
||||
if isinstance(playbook, list):
|
||||
playbooks = playbook
|
||||
elif isinstance(playbook, str):
|
||||
playbooks = [playbook]
|
||||
else:
|
||||
raise TypeError("Playbooks should be a List or a Str")
|
||||
|
||||
if group:
|
||||
self.log.debug('Getting the validations list by group')
|
||||
|
@ -83,16 +83,11 @@ class ValidationActions(object):
|
|||
playbooks.append(val.get('id') + '.yaml')
|
||||
except Exception as e:
|
||||
raise(e)
|
||||
|
||||
elif validation_name:
|
||||
for pb in validation_name:
|
||||
if pb not in v_utils.get_validation_group_name_list():
|
||||
playbooks.append(pb + '.yaml')
|
||||
else:
|
||||
raise("Please, use '--group' argument instead of "
|
||||
"'--validation' to run validation(s) by their "
|
||||
"name(s)."
|
||||
)
|
||||
playbooks = v_utils.get_validations_playbook(
|
||||
(validations_dir if validations_dir
|
||||
else constants.ANSIBLE_VALIDATION_DIR),
|
||||
validation_name, group)
|
||||
else:
|
||||
raise RuntimeError("No validations found")
|
||||
|
||||
|
|
Loading…
Reference in New Issue