Add marker/limit/sort-key/sort-dir features for container-list
The parameters 'marker', 'limit', 'sort_key' and 'sort_dir' has already been supported by magnum, so this patch tries to add support of them for container-list. Change-Id: I0d93fb88b0c0e0aae18b3296adbb4d6c8550fae0 Closes-Bug: #1558943
This commit is contained in:
parent
10362d5944
commit
0e11e686ca
magnumclient
@ -25,6 +25,25 @@ class ShellTest(shell_test_base.TestCommandLineArgument):
|
||||
self._test_arg_success('container-list')
|
||||
self.assertTrue(mock_list.called)
|
||||
|
||||
@mock.patch('magnumclient.v1.containers.ContainerManager.list')
|
||||
def test_container_list_success_with_arg(self, mock_list):
|
||||
self._test_arg_success('container-list '
|
||||
'--marker some_uuid '
|
||||
'--limit 1 '
|
||||
'--sort-dir asc '
|
||||
'--sort-key uuid')
|
||||
self.assertTrue(mock_list.called)
|
||||
|
||||
@mock.patch('magnumclient.v1.containers.ContainerManager.list')
|
||||
def test_container_list_failure_invalid_arg(self, mock_list):
|
||||
_error_msg = [
|
||||
'.*?^usage: magnum container-list ',
|
||||
'.*?^error: argument --sort-dir: invalid choice: ',
|
||||
".*?^Try 'magnum help container-list' for more information."
|
||||
]
|
||||
self._test_arg_failure('container-list --sort-dir aaa', _error_msg)
|
||||
self.assertFalse(mock_list.called)
|
||||
|
||||
@mock.patch('magnumclient.v1.containers.ContainerManager.list')
|
||||
def test_container_list_success_with_bay(self, mock_list):
|
||||
self._test_arg_success('container-list --bay bay_uuid')
|
||||
|
@ -60,16 +60,37 @@ def do_container_create(cs, args):
|
||||
_show_container(cs.containers.create(**opts))
|
||||
|
||||
|
||||
@utils.arg('--marker',
|
||||
metavar='<marker>',
|
||||
default=None,
|
||||
help='The last bay UUID of the previous page; '
|
||||
'displays list of bays after "marker".')
|
||||
@utils.arg('--limit',
|
||||
metavar='<limit>',
|
||||
type=int,
|
||||
help='Maximum number of containers to return')
|
||||
@utils.arg('--sort-key',
|
||||
metavar='<sort-key>',
|
||||
help='Column to sort results by')
|
||||
@utils.arg('--sort-dir',
|
||||
metavar='<sort-dir>',
|
||||
choices=['desc', 'asc'],
|
||||
help='Direction to sort. "asc" or "desc".')
|
||||
@utils.arg('--bay',
|
||||
metavar='<bay>', help="UUID or Name of Bay")
|
||||
def do_container_list(cs, args):
|
||||
"""Print a list of available containers."""
|
||||
opts = {}
|
||||
opts['bay_ident'] = args.bay
|
||||
opts['marker'] = args.marker
|
||||
opts['limit'] = args.limit
|
||||
opts['sort_key'] = args.sort_key
|
||||
opts['sort_dir'] = args.sort_dir
|
||||
containers = cs.containers.list(**opts)
|
||||
columns = ('uuid', 'name', 'status', 'bay_uuid')
|
||||
utils.print_list(containers, columns,
|
||||
{'versions': magnum_utils.print_list_field('versions')})
|
||||
{'versions': magnum_utils.print_list_field('versions')},
|
||||
sortby_index=None)
|
||||
|
||||
|
||||
@utils.arg('containers',
|
||||
|
Loading…
x
Reference in New Issue
Block a user