summaryrefslogtreecommitdiff
path: root/ceilometerclient/tests/unit/test_shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'ceilometerclient/tests/unit/test_shell.py')
-rw-r--r--ceilometerclient/tests/unit/test_shell.py32
1 files changed, 22 insertions, 10 deletions
diff --git a/ceilometerclient/tests/unit/test_shell.py b/ceilometerclient/tests/unit/test_shell.py
index 6dd1157..4f8dd4f 100644
--- a/ceilometerclient/tests/unit/test_shell.py
+++ b/ceilometerclient/tests/unit/test_shell.py
@@ -39,15 +39,6 @@ FAKE_V3_ENV = {'OS_USERNAME': 'username',
class ShellTestBase(utils.BaseTestCase):
- # Patch os.environ to avoid required auth info.
- def make_env(self, env_version, exclude=None):
- env = dict((k, v) for k, v in env_version.items() if k != exclude)
- self.useFixture(fixtures.MonkeyPatch('os.environ', env))
-
-
-class ShellHelpTest(ShellTestBase):
- RE_OPTIONS = re.DOTALL | re.MULTILINE
-
@mock.patch('sys.stdout', new=six.StringIO())
@mock.patch.object(ks_session, 'Session', mock.MagicMock())
@mock.patch.object(v2client.client.HTTPClient,
@@ -62,6 +53,15 @@ class ShellHelpTest(ShellTestBase):
return sys.stdout.getvalue()
+ # Patch os.environ to avoid required auth info.
+ def make_env(self, env_version, exclude=None):
+ env = dict((k, v) for k, v in env_version.items() if k != exclude)
+ self.useFixture(fixtures.MonkeyPatch('os.environ', env))
+
+
+class ShellHelpTest(ShellTestBase):
+ RE_OPTIONS = re.DOTALL | re.MULTILINE
+
def test_help_unknown_command(self):
self.assertRaises(exc.CommandError, self.shell, 'help foofoo')
@@ -98,6 +98,18 @@ class ShellHelpTest(ShellTestBase):
self.assertEqual(600, parser.get_default('timeout'))
+class ShellBashCompletionTest(ShellTestBase):
+
+ def test_bash_completion(self):
+ completion_commands = self.shell("bash-completion")
+ options = completion_commands.split(' ')
+ self.assertNotIn('bash-completion', options)
+ self.assertNotIn('bash_completion', options)
+ for option in options:
+ self.assertThat(option,
+ matchers.MatchesRegex(r'[a-z0-9-]'))
+
+
class ShellKeystoneV2Test(ShellTestBase):
@mock.patch.object(ks_session, 'Session')
@@ -177,7 +189,7 @@ class ShellTimeoutTest(ShellTestBase):
self._test_timeout('0', expected_msg)
@mock.patch.object(ks_session, 'Session')
- def test_timeout_kesytone_session(self, mocked_session):
+ def test_timeout_keystone_session(self, mocked_session):
mocked_session.side_effect = exc.HTTPUnauthorized("FAIL")
self.make_env(FAKE_V2_ENV)
args = ['--debug', '--timeout', '5', 'alarm-list']