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(
 | 
			
		||||
            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,11 +65,11 @@ class ValidationActions(object):
 | 
			
		||||
 | 
			
		||||
        self.log = logging.getLogger(__name__ + ".run_validations")
 | 
			
		||||
 | 
			
		||||
        if playbook:
 | 
			
		||||
            if isinstance(playbook, list):
 | 
			
		||||
                playbooks = playbook
 | 
			
		||||
            elif isinstance(playbook, str):
 | 
			
		||||
            playbooks = []
 | 
			
		||||
            playbooks.append(playbook)
 | 
			
		||||
                playbooks = [playbook]
 | 
			
		||||
            else:
 | 
			
		||||
                raise TypeError("Playbooks should be a List or a Str")
 | 
			
		||||
 | 
			
		||||
@@ -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")
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user