Provide workflow input

* Works in workflow commands

Closes-bug: #1379677

Change-Id: I206cbe79dea93ae2a3cb9ee65c15a388ed0fda5e
This commit is contained in:
Nikolay Mahotkin
2014-10-10 14:39:40 +04:00
parent 1eade1af46
commit 85bbf5d005
4 changed files with 23 additions and 15 deletions

View File

@@ -26,13 +26,6 @@ from mistralclient.commands.v2 import base
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):
return format(action, lister=True)
@@ -50,8 +43,9 @@ def format(action=None, lister=False):
if action:
tags = getattr(action, 'tags', None) or []
input = action.input if not lister else _cut(action.input)
desc = action.description if not lister else _cut(action.description)
input = action.input if not lister else base.cut(action.input)
desc = (action.description if not lister
else base.cut(action.description))
data = (
action.name,

View File

@@ -46,3 +46,10 @@ class MistralLister(lister.Lister):
return f()[0], data
else:
return f()
def cut(string, length=25):
if string and len(string) > length:
return "%s..." % string[:length]
else:
return string

View File

@@ -26,10 +26,15 @@ from mistralclient.commands.v2 import base
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 = (
'Name',
'Tags',
'Input',
'Created at',
'Updated at'
)
@@ -40,6 +45,7 @@ def format(workflow=None):
data = (
workflow.name,
', '.join(tags) or '<none>',
workflow.input if not lister else base.cut(workflow.input),
workflow.created_at
)
@@ -57,7 +63,7 @@ class List(base.MistralLister):
"""List all workflows."""
def _get_format_function(self):
return format
return format_list
def _get_resources(self, parsed_args):
return workflows.WorkflowManager(self.app.client).list()

View File

@@ -25,6 +25,7 @@ from mistralclient.api.v2 import workflows
WORKFLOW_DICT = {
'name': 'a',
'tags': ['a', 'b'],
'input': 'param',
'created_at': '1',
'updated_at': '1'
}
@@ -52,7 +53,7 @@ class TestCLIWorkflowsV2(base.BaseCommandTest):
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('mistralclient.api.v2.workflows.WorkflowManager.update')
@@ -61,7 +62,7 @@ class TestCLIWorkflowsV2(base.BaseCommandTest):
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')
def test_list(self, mock):
@@ -69,7 +70,7 @@ class TestCLIWorkflowsV2(base.BaseCommandTest):
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')
def test_get(self, mock):
@@ -77,7 +78,7 @@ class TestCLIWorkflowsV2(base.BaseCommandTest):
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')
def test_delete(self, mock):