diff --git a/mistralclient/commands/v2/tasks.py b/mistralclient/commands/v2/tasks.py index 1378e1b0..c73ca3e0 100644 --- a/mistralclient/commands/v2/tasks.py +++ b/mistralclient/commands/v2/tasks.py @@ -27,22 +27,31 @@ from mistralclient.commands.v2 import base LOG = logging.getLogger(__name__) -def format(task=None): +def format_list(task=None): + return format(task, lister=True) + + +def format(task=None, lister=False): columns = ( 'ID', 'Name', 'Workflow name', 'Execution ID', 'State', + 'State info' ) if task: + state_info = (task.state_info if not lister + else base.cut(task.state_info)) + data = ( task.id, task.name, task.workflow_name, task.workflow_execution_id, task.state, + state_info ) else: data = (tuple('' for _ in range(len(columns))),) @@ -63,7 +72,7 @@ class List(base.MistralLister): return parser def _get_format_function(self): - return format + return format_list def _get_resources(self, parsed_args): return tasks.TaskManager(self.app.client).list( @@ -77,9 +86,8 @@ class Get(show.ShowOne): def get_parser(self, prog_name): parser = super(Get, self).get_parser(prog_name) - parser.add_argument( - 'id', - help='Task identifier') + parser.add_argument('id', help='Task identifier') + return parser def take_action(self, parsed_args): diff --git a/mistralclient/tests/unit/v2/test_cli_tasks.py b/mistralclient/tests/unit/v2/test_cli_tasks.py index 2177c922..ea4b3f22 100644 --- a/mistralclient/tests/unit/v2/test_cli_tasks.py +++ b/mistralclient/tests/unit/v2/test_cli_tasks.py @@ -28,6 +28,7 @@ TASK_DICT = { 'workflow_name': 'thing', 'workflow_execution_id': '321', 'state': 'RUNNING', + 'state_info': None } TASK_RESULT = {"test": "is", "passed": "successfully"} @@ -42,6 +43,8 @@ TASK = tasks.Task(mock, TASK_DICT) TASK_WITH_RESULT = tasks.Task(mock, TASK_WITH_RESULT_DICT) TASK_WITH_PUBLISHED = tasks.Task(mock, TASK_WITH_PUBLISHED_DICT) +EXPECTED_TASK_RESULT = ('123', 'some', 'thing', '321', 'RUNNING', None) + class TestCLITasksV2(base.BaseCommandTest): @mock.patch('mistralclient.api.v2.tasks.TaskManager.list') @@ -50,8 +53,7 @@ class TestCLITasksV2(base.BaseCommandTest): result = self.call(task_cmd.List) - self.assertEqual([('123', 'some', 'thing', '321', 'RUNNING')], - result[1]) + self.assertEqual([EXPECTED_TASK_RESULT], result[1]) @mock.patch('mistralclient.api.v2.tasks.TaskManager.list') def test_list_with_workflow_execution(self, mock): @@ -59,8 +61,7 @@ class TestCLITasksV2(base.BaseCommandTest): result = self.call(task_cmd.List, app_args=['workflow_execution']) - self.assertEqual([('123', 'some', 'thing', '321', 'RUNNING')], - result[1]) + self.assertEqual([EXPECTED_TASK_RESULT], result[1]) @mock.patch('mistralclient.api.v2.tasks.TaskManager.get') def test_get(self, mock): @@ -68,8 +69,7 @@ class TestCLITasksV2(base.BaseCommandTest): result = self.call(task_cmd.Get, app_args=['id']) - self.assertEqual(('123', 'some', 'thing', '321', 'RUNNING'), - result[1]) + self.assertEqual(EXPECTED_TASK_RESULT, result[1]) @mock.patch('mistralclient.api.v2.tasks.TaskManager.get') def test_get_result(self, mock): @@ -96,8 +96,7 @@ class TestCLITasksV2(base.BaseCommandTest): result = self.call(task_cmd.Rerun, app_args=['id']) - self.assertEqual(('123', 'some', 'thing', '321', 'RUNNING'), - result[1]) + self.assertEqual(EXPECTED_TASK_RESULT, result[1]) @mock.patch('mistralclient.api.v2.tasks.TaskManager.rerun') def test_rerun_no_reset(self, mock): @@ -105,5 +104,4 @@ class TestCLITasksV2(base.BaseCommandTest): result = self.call(task_cmd.Rerun, app_args=['id', '--resume']) - self.assertEqual(('123', 'some', 'thing', '321', 'RUNNING'), - result[1]) + self.assertEqual(EXPECTED_TASK_RESULT, result[1])