show command now properly uses list of validations
Signed-off-by: Jiri Podivin <jpodivin@redhat.com> Change-Id: Iced465a7380acc2bd7065c1fc2dc34e6ddcd9b15
This commit is contained in:
parent
e4eaf3fda1
commit
f60caf8e66
@ -212,7 +212,7 @@ class TestValidationActions(TestCase):
|
|||||||
@mock.patch('json.load',
|
@mock.patch('json.load',
|
||||||
return_value=fakes.VALIDATIONS_LOGS_CONTENTS_LIST[0])
|
return_value=fakes.VALIDATIONS_LOGS_CONTENTS_LIST[0])
|
||||||
@mock.patch('six.moves.builtins.open')
|
@mock.patch('six.moves.builtins.open')
|
||||||
def test_show_history(self, mock_open, mock_load, mock_get_log):
|
def test_show_history_str(self, mock_open, mock_load, mock_get_log):
|
||||||
v_actions = ValidationActions()
|
v_actions = ValidationActions()
|
||||||
col, values = v_actions.show_history('512e')
|
col, values = v_actions.show_history('512e')
|
||||||
self.assertEqual(col, ('UUID', 'Validations',
|
self.assertEqual(col, ('UUID', 'Validations',
|
||||||
@ -223,6 +223,23 @@ class TestValidationActions(TestCase):
|
|||||||
'2019-11-25T13:40:14.404623Z',
|
'2019-11-25T13:40:14.404623Z',
|
||||||
'0:00:03.753')])
|
'0:00:03.753')])
|
||||||
|
|
||||||
|
@mock.patch('validations_libs.validation_logs.ValidationLogs.'
|
||||||
|
'get_logfile_by_validation',
|
||||||
|
return_value=['/tmp/123_foo_2020-03-30T13:17:22.447857Z.json'])
|
||||||
|
@mock.patch('json.load',
|
||||||
|
return_value=fakes.VALIDATIONS_LOGS_CONTENTS_LIST[0])
|
||||||
|
@mock.patch('six.moves.builtins.open')
|
||||||
|
def test_show_history_list(self, mock_open, mock_load, mock_get_log):
|
||||||
|
v_actions = ValidationActions()
|
||||||
|
col, values = v_actions.show_history(['512e'])
|
||||||
|
self.assertEqual(col, ('UUID', 'Validations',
|
||||||
|
'Status', 'Execution at',
|
||||||
|
'Duration'))
|
||||||
|
self.assertEqual(values, [('008886df-d297-1eaa-2a74-000000000008',
|
||||||
|
'512e', 'PASSED',
|
||||||
|
'2019-11-25T13:40:14.404623Z',
|
||||||
|
'0:00:03.753')])
|
||||||
|
|
||||||
@mock.patch('validations_libs.validation_logs.ValidationLogs.'
|
@mock.patch('validations_libs.validation_logs.ValidationLogs.'
|
||||||
'get_all_logfiles',
|
'get_all_logfiles',
|
||||||
return_value=['/tmp/123_foo_2020-03-30T13:17:22.447857Z.json'])
|
return_value=['/tmp/123_foo_2020-03-30T13:17:22.447857Z.json'])
|
||||||
|
@ -408,12 +408,12 @@ class ValidationActions(object):
|
|||||||
default_flow_style=False,
|
default_flow_style=False,
|
||||||
indent=2)
|
indent=2)
|
||||||
|
|
||||||
def show_history(self, validation_id=None, extension='json',
|
def show_history(self, validation_ids=None, extension='json',
|
||||||
log_path=constants.VALIDATIONS_LOG_BASEDIR):
|
log_path=constants.VALIDATIONS_LOG_BASEDIR):
|
||||||
"""Return validation executions history
|
"""Return validation executions history
|
||||||
|
|
||||||
:param validation_id: The validation id
|
:param validation_ids: The validation ids
|
||||||
:type validation_id: ``string``
|
:type validation_ids: a list of strings
|
||||||
:param extension: The log file extension (Defaults to ``json``)
|
:param extension: The log file extension (Defaults to ``json``)
|
||||||
:type extension: ``string``
|
:type extension: ``string``
|
||||||
:param log_path: The absolute path of the validations logs directory
|
:param log_path: The absolute path of the validations logs directory
|
||||||
@ -449,7 +449,7 @@ class ValidationActions(object):
|
|||||||
'2020-11-13T11:47:50.279662Z',
|
'2020-11-13T11:47:50.279662Z',
|
||||||
'0:00:02.237')])
|
'0:00:02.237')])
|
||||||
>>> actions = ValidationActions(constants.ANSIBLE_VALIDATION_DIR)
|
>>> actions = ValidationActions(constants.ANSIBLE_VALIDATION_DIR)
|
||||||
>>> print(actions.show_history(validation_id='foo'))
|
>>> print(actions.show_history(validation_ids=['foo']))
|
||||||
(('UUID', 'Validations', 'Status', 'Execution at', 'Duration'),
|
(('UUID', 'Validations', 'Status', 'Execution at', 'Duration'),
|
||||||
[('5afb1597-e2a1-4635-b2df-7afe21d00de6',
|
[('5afb1597-e2a1-4635-b2df-7afe21d00de6',
|
||||||
'foo',
|
'foo',
|
||||||
@ -463,8 +463,14 @@ class ValidationActions(object):
|
|||||||
'0:00:02.237')])
|
'0:00:02.237')])
|
||||||
"""
|
"""
|
||||||
vlogs = ValidationLogs(log_path)
|
vlogs = ValidationLogs(log_path)
|
||||||
logs = (vlogs.get_logfile_by_validation(validation_id)
|
if validation_ids:
|
||||||
if validation_id else vlogs.get_all_logfiles(extension))
|
if not isinstance(validation_ids, list):
|
||||||
|
validation_ids = [validation_ids]
|
||||||
|
logs = []
|
||||||
|
for validation_id in validation_ids:
|
||||||
|
logs.extend(vlogs.get_logfile_by_validation(validation_id))
|
||||||
|
else:
|
||||||
|
logs = vlogs.get_all_logfiles(extension)
|
||||||
|
|
||||||
values = []
|
values = []
|
||||||
column_name = ('UUID', 'Validations',
|
column_name = ('UUID', 'Validations',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user