summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit
diff options
context:
space:
mode:
authorRui Chen <chenrui.momo@gmail.com>2017-02-22 14:39:09 +0800
committerRui Chen <chenrui.momo@gmail.com>2017-02-23 12:13:06 +0800
commit0898ebacb8d9c38ae36adaf593867a9b16a50504 (patch)
tree5731306c371993b8a25449bdc833aafa641676e8 /openstackclient/tests/unit
parentc8435f2d5a31731e3f25f9ed14fa54f8cb372eee (diff)
downloadpython-openstackclient-0898ebacb8d9c38ae36adaf593867a9b16a50504.tar.gz
Support list commands by group name keyword
The output of current "command list" is so long, it's very difficult for users to find out the commands they care about. Add "--group <group-keyword>" option to filter the commands by group name keyword, like: --group volume, list all openstack.volume.v2 (cinder) commands That support the scenario that users need to know the current support commands of some OpenStack services(nova, neutron, cinder and so on) in OSC. Change-Id: Id673042729ad36a0cac0b81fb31a3537c24f03fc Closes-Bug: #1666780
Diffstat (limited to 'openstackclient/tests/unit')
-rw-r--r--openstackclient/tests/unit/common/test_module.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/common/test_module.py b/openstackclient/tests/unit/common/test_module.py
index 4b586d3b..2491d639 100644
--- a/openstackclient/tests/unit/common/test_module.py
+++ b/openstackclient/tests/unit/common/test_module.py
@@ -88,6 +88,41 @@ class TestCommandList(utils.TestCommand):
self.assertEqual(datalist, tuple(data))
+ def test_command_list_with_group_not_found(self):
+ arglist = [
+ '--group', 'not_exist',
+ ]
+ verifylist = [
+ ('group', 'not_exist'),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ collist = ('Command Group', 'Commands')
+ self.assertEqual(collist, columns)
+ self.assertEqual([], data)
+
+ def test_command_list_with_group(self):
+ arglist = [
+ '--group', 'common',
+ ]
+ verifylist = [
+ ('group', 'common'),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ collist = ('Command Group', 'Commands')
+ self.assertEqual(collist, columns)
+ datalist = ((
+ 'openstack.common',
+ 'limits show\nextension list'
+ ),)
+
+ self.assertEqual(datalist, tuple(data))
+
@mock.patch.dict(
'openstackclient.common.module.sys.modules',