diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-03-11 20:48:32 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-03-11 20:48:32 +0000 |
| commit | 586a038afd26894b264bd716186ff1b9ad8844f9 (patch) | |
| tree | 16d2a3d18e4f3e3e089fd86d245270f8cd272843 /openstackclient | |
| parent | 3737c5a842f727ad9d28fd10af67784efc6ab416 (diff) | |
| parent | f0c3b4e69dc56934305442b505d5f5f68579f1f2 (diff) | |
| download | python-openstackclient-586a038afd26894b264bd716186ff1b9ad8844f9.tar.gz | |
Merge "Fixed command list"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/common/module.py | 20 | ||||
| -rw-r--r-- | openstackclient/tests/common/test_module.py | 16 |
2 files changed, 28 insertions, 8 deletions
diff --git a/openstackclient/common/module.py b/openstackclient/common/module.py index a3dea5da..30c67c68 100644 --- a/openstackclient/common/module.py +++ b/openstackclient/common/module.py @@ -19,6 +19,7 @@ import six import sys from openstackclient.common import command +from openstackclient.common import utils class ListCommand(command.Lister): @@ -29,9 +30,24 @@ class ListCommand(command.Lister): def take_action(self, parsed_args): cm = self.app.command_manager groups = cm.get_command_groups() - + groups = sorted(groups) columns = ('Command Group', 'Commands') - return (columns, ((c, cm.get_command_names(group=c)) for c in groups)) + + commands = [] + for group in groups: + command_names = cm.get_command_names(group) + command_names = sorted(command_names) + + if command_names != []: + + # TODO(bapalm): Fix this when cliff properly supports + # handling the detection rather than using the hard-code below. + if parsed_args.formatter == 'table': + command_names = utils.format_list(command_names, "\n") + + commands.append((group, command_names)) + + return (columns, commands) class ListModule(command.ShowOne): diff --git a/openstackclient/tests/common/test_module.py b/openstackclient/tests/common/test_module.py index 2821da9e..7d08dae7 100644 --- a/openstackclient/tests/common/test_module.py +++ b/openstackclient/tests/common/test_module.py @@ -48,10 +48,11 @@ class TestCommandList(utils.TestCommand): super(TestCommandList, self).setUp() self.app.command_manager = mock.Mock() - self.app.command_manager.get_command_groups.return_value = ['test'] + self.app.command_manager.get_command_groups.return_value = [ + 'openstack.common' + ] self.app.command_manager.get_command_names.return_value = [ - 'one', - 'cmd two', + 'limits show\nextension list' ] # Get the command object to test @@ -67,12 +68,15 @@ class TestCommandList(utils.TestCommand): # containing the data to be listed. columns, data = self.cmd.take_action(parsed_args) + # TODO(bapalm): Adjust this when cliff properly supports + # handling the detection rather than using the hard-code below. collist = ('Command Group', 'Commands') self.assertEqual(collist, columns) datalist = (( - 'test', - ['one', 'cmd two'], - ), ) + 'openstack.common', + 'limits show\nextension list' + ),) + self.assertEqual(datalist, tuple(data)) |
