diff options
Diffstat (limited to 'keystoneclient/tests')
| -rw-r--r-- | keystoneclient/tests/auth/test_cli.py | 20 | ||||
| -rw-r--r-- | keystoneclient/tests/auth/utils.py | 3 |
2 files changed, 23 insertions, 0 deletions
diff --git a/keystoneclient/tests/auth/test_cli.py b/keystoneclient/tests/auth/test_cli.py index fc09195..33c2868 100644 --- a/keystoneclient/tests/auth/test_cli.py +++ b/keystoneclient/tests/auth/test_cli.py @@ -13,6 +13,7 @@ import argparse import uuid +import fixtures import mock from oslo.config import cfg @@ -43,6 +44,13 @@ class CliTests(utils.TestCase): super(CliTests, self).setUp() self.p = argparse.ArgumentParser() + def env(self, name, value=None): + if value is not None: + # environment variables are always strings + value = str(value) + + return self.useFixture(fixtures.EnvironmentVariable(name, value)) + def test_creating_with_no_args(self): ret = cli.register_argparse_arguments(self.p, []) self.assertIsNone(ret) @@ -140,6 +148,18 @@ class CliTests(utils.TestCase): self.assertIs(utils.MockPlugin, klass) m.assert_called_once_with(name) + @utils.mock_plugin + def test_env_overrides_default_opt(self, m): + name = uuid.uuid4().hex + val = uuid.uuid4().hex + self.env('OS_A_STR', val) + + klass = cli.register_argparse_arguments(self.p, [], default=name) + opts = self.p.parse_args([]) + a = klass.load_from_argparse_arguments(opts) + + self.assertEqual(val, a['a_str']) + def test_deprecated_cli_options(self): TesterPlugin.register_argparse_arguments(self.p) val = uuid.uuid4().hex diff --git a/keystoneclient/tests/auth/utils.py b/keystoneclient/tests/auth/utils.py index c3dae8f..cfca379 100644 --- a/keystoneclient/tests/auth/utils.py +++ b/keystoneclient/tests/auth/utils.py @@ -30,6 +30,8 @@ class MockPlugin(base.BaseAuthPlugin): INT_DESC = 'test int' FLOAT_DESC = 'test float' BOOL_DESC = 'test bool' + STR_DESC = 'test str' + STR_DEFAULT = uuid.uuid4().hex def __init__(self, **kwargs): self._data = kwargs @@ -49,6 +51,7 @@ class MockPlugin(base.BaseAuthPlugin): cfg.IntOpt('a-int', default='3', help=cls.INT_DESC), cfg.BoolOpt('a-bool', help=cls.BOOL_DESC), cfg.FloatOpt('a-float', help=cls.FLOAT_DESC), + cfg.StrOpt('a-str', help=cls.STR_DESC, default=cls.STR_DEFAULT), ] |
