summaryrefslogtreecommitdiff
path: root/openstackclient/tests/common/test_commandmanager.py
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2013-12-03 17:24:40 -0600
committerDean Troyer <dtroyer@gmail.com>2013-12-03 17:40:54 -0600
commit74a27056b346e04dbad91fd632045223b16ef6ec (patch)
treece7da0e871c3c72c5ffc6fe675596196077f9a45 /openstackclient/tests/common/test_commandmanager.py
parent5dcc3b6164fea72c236ec339938c0117b2330bb6 (diff)
downloadpython-openstackclient-74a27056b346e04dbad91fd632045223b16ef6ec.tar.gz
Update OSC's CommandManager subclass
cliff.commandmanager.CommandManager gained an option, update openstackclient.common.commandmanager.ComamndManager to match. Also add CommandManager.get_command_groups() to return a list of the currently loaded command groups. I expect this to be useful in upcoming client diagnostic commands for plugins/extensions. If these turn out to be generally useful we'll propose them to upstream cliff. Change-Id: Ic15a7ca0ef975ca679e753be861be7c628b8e10c
Diffstat (limited to 'openstackclient/tests/common/test_commandmanager.py')
-rw-r--r--openstackclient/tests/common/test_commandmanager.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/openstackclient/tests/common/test_commandmanager.py b/openstackclient/tests/common/test_commandmanager.py
index 4953c297..088ea21e 100644
--- a/openstackclient/tests/common/test_commandmanager.py
+++ b/openstackclient/tests/common/test_commandmanager.py
@@ -1,4 +1,4 @@
-# Copyright 2012-2013 OpenStack, LLC.
+# Copyright 2012-2013 OpenStack Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
@@ -40,9 +40,11 @@ class FakeCommandManager(commandmanager.CommandManager):
if not group:
self.commands['one'] = FAKE_CMD_ONE
self.commands['two'] = FAKE_CMD_TWO
+ self.group_list.append(self.namespace)
else:
self.commands['alpha'] = FAKE_CMD_ALPHA
self.commands['beta'] = FAKE_CMD_BETA
+ self.group_list.append(group)
class TestCommandManager(utils.TestCase):
@@ -69,3 +71,18 @@ class TestCommandManager(utils.TestCase):
# Ensure that the original commands were not overwritten
cmd_two, name, args = mgr.find_command(['two'])
self.assertEqual(cmd_two, FAKE_CMD_TWO)
+
+ def test_get_command_groups(self):
+ mgr = FakeCommandManager('test')
+
+ # Make sure add_command() still functions
+ mock_cmd_one = mock.Mock()
+ mgr.add_command('mock', mock_cmd_one)
+ cmd_mock, name, args = mgr.find_command(['mock'])
+ self.assertEqual(cmd_mock, mock_cmd_one)
+
+ # Load another command group
+ mgr.add_command_group('latin')
+
+ gl = mgr.get_command_groups()
+ self.assertEqual(['test', 'latin'], gl)