Provide workflow input
* Works in workflow commands Closes-bug: #1379677 Change-Id: I206cbe79dea93ae2a3cb9ee65c15a388ed0fda5e
This commit is contained in:
@@ -26,13 +26,6 @@ from mistralclient.commands.v2 import base
|
|||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def _cut(string, length=25):
|
|
||||||
if string and len(string) > length:
|
|
||||||
return "%s..." % string[:length]
|
|
||||||
else:
|
|
||||||
return string
|
|
||||||
|
|
||||||
|
|
||||||
def format_list(action=None):
|
def format_list(action=None):
|
||||||
return format(action, lister=True)
|
return format(action, lister=True)
|
||||||
|
|
||||||
@@ -50,8 +43,9 @@ def format(action=None, lister=False):
|
|||||||
|
|
||||||
if action:
|
if action:
|
||||||
tags = getattr(action, 'tags', None) or []
|
tags = getattr(action, 'tags', None) or []
|
||||||
input = action.input if not lister else _cut(action.input)
|
input = action.input if not lister else base.cut(action.input)
|
||||||
desc = action.description if not lister else _cut(action.description)
|
desc = (action.description if not lister
|
||||||
|
else base.cut(action.description))
|
||||||
|
|
||||||
data = (
|
data = (
|
||||||
action.name,
|
action.name,
|
||||||
|
@@ -46,3 +46,10 @@ class MistralLister(lister.Lister):
|
|||||||
return f()[0], data
|
return f()[0], data
|
||||||
else:
|
else:
|
||||||
return f()
|
return f()
|
||||||
|
|
||||||
|
|
||||||
|
def cut(string, length=25):
|
||||||
|
if string and len(string) > length:
|
||||||
|
return "%s..." % string[:length]
|
||||||
|
else:
|
||||||
|
return string
|
||||||
|
@@ -26,10 +26,15 @@ from mistralclient.commands.v2 import base
|
|||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def format(workflow=None):
|
def format_list(workflow=None):
|
||||||
|
return format(workflow, lister=True)
|
||||||
|
|
||||||
|
|
||||||
|
def format(workflow=None, lister=False):
|
||||||
columns = (
|
columns = (
|
||||||
'Name',
|
'Name',
|
||||||
'Tags',
|
'Tags',
|
||||||
|
'Input',
|
||||||
'Created at',
|
'Created at',
|
||||||
'Updated at'
|
'Updated at'
|
||||||
)
|
)
|
||||||
@@ -40,6 +45,7 @@ def format(workflow=None):
|
|||||||
data = (
|
data = (
|
||||||
workflow.name,
|
workflow.name,
|
||||||
', '.join(tags) or '<none>',
|
', '.join(tags) or '<none>',
|
||||||
|
workflow.input if not lister else base.cut(workflow.input),
|
||||||
workflow.created_at
|
workflow.created_at
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -57,7 +63,7 @@ class List(base.MistralLister):
|
|||||||
"""List all workflows."""
|
"""List all workflows."""
|
||||||
|
|
||||||
def _get_format_function(self):
|
def _get_format_function(self):
|
||||||
return format
|
return format_list
|
||||||
|
|
||||||
def _get_resources(self, parsed_args):
|
def _get_resources(self, parsed_args):
|
||||||
return workflows.WorkflowManager(self.app.client).list()
|
return workflows.WorkflowManager(self.app.client).list()
|
||||||
|
@@ -25,6 +25,7 @@ from mistralclient.api.v2 import workflows
|
|||||||
WORKFLOW_DICT = {
|
WORKFLOW_DICT = {
|
||||||
'name': 'a',
|
'name': 'a',
|
||||||
'tags': ['a', 'b'],
|
'tags': ['a', 'b'],
|
||||||
|
'input': 'param',
|
||||||
'created_at': '1',
|
'created_at': '1',
|
||||||
'updated_at': '1'
|
'updated_at': '1'
|
||||||
}
|
}
|
||||||
@@ -52,7 +53,7 @@ class TestCLIWorkflowsV2(base.BaseCommandTest):
|
|||||||
|
|
||||||
result = self.call(workflow_cmd.Create, app_args=['1.txt'])
|
result = self.call(workflow_cmd.Create, app_args=['1.txt'])
|
||||||
|
|
||||||
self.assertEqual([('a', 'a, b', '1', '1')], result[1])
|
self.assertEqual([('a', 'a, b', 'param', '1', '1')], result[1])
|
||||||
|
|
||||||
@mock.patch('argparse.open', create=True)
|
@mock.patch('argparse.open', create=True)
|
||||||
@mock.patch('mistralclient.api.v2.workflows.WorkflowManager.update')
|
@mock.patch('mistralclient.api.v2.workflows.WorkflowManager.update')
|
||||||
@@ -61,7 +62,7 @@ class TestCLIWorkflowsV2(base.BaseCommandTest):
|
|||||||
|
|
||||||
result = self.call(workflow_cmd.Update, app_args=['1.txt'])
|
result = self.call(workflow_cmd.Update, app_args=['1.txt'])
|
||||||
|
|
||||||
self.assertEqual([('a', 'a, b', '1', '1')], result[1])
|
self.assertEqual([('a', 'a, b', 'param', '1', '1')], result[1])
|
||||||
|
|
||||||
@mock.patch('mistralclient.api.v2.workflows.WorkflowManager.list')
|
@mock.patch('mistralclient.api.v2.workflows.WorkflowManager.list')
|
||||||
def test_list(self, mock):
|
def test_list(self, mock):
|
||||||
@@ -69,7 +70,7 @@ class TestCLIWorkflowsV2(base.BaseCommandTest):
|
|||||||
|
|
||||||
result = self.call(workflow_cmd.List)
|
result = self.call(workflow_cmd.List)
|
||||||
|
|
||||||
self.assertEqual([('a', 'a, b', '1', '1')], result[1])
|
self.assertEqual([('a', 'a, b', 'param', '1', '1')], result[1])
|
||||||
|
|
||||||
@mock.patch('mistralclient.api.v2.workflows.WorkflowManager.get')
|
@mock.patch('mistralclient.api.v2.workflows.WorkflowManager.get')
|
||||||
def test_get(self, mock):
|
def test_get(self, mock):
|
||||||
@@ -77,7 +78,7 @@ class TestCLIWorkflowsV2(base.BaseCommandTest):
|
|||||||
|
|
||||||
result = self.call(workflow_cmd.Get, app_args=['name'])
|
result = self.call(workflow_cmd.Get, app_args=['name'])
|
||||||
|
|
||||||
self.assertEqual(('a', 'a, b', '1', '1'), result[1])
|
self.assertEqual(('a', 'a, b', 'param', '1', '1'), result[1])
|
||||||
|
|
||||||
@mock.patch('mistralclient.api.v2.workflows.WorkflowManager.delete')
|
@mock.patch('mistralclient.api.v2.workflows.WorkflowManager.delete')
|
||||||
def test_delete(self, mock):
|
def test_delete(self, mock):
|
||||||
|
Reference in New Issue
Block a user