diff options
| -rw-r--r-- | openstack/common/cfg.py | 2 | ||||
| -rw-r--r-- | tests/unit/test_cfg.py | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/openstack/common/cfg.py b/openstack/common/cfg.py index bbef49b..5adbb9a 100644 --- a/openstack/common/cfg.py +++ b/openstack/common/cfg.py @@ -1507,7 +1507,7 @@ class ConfigOpts(collections.Mapping): if ('default' in info or 'override' in info): continue - if self._get(opt.name, group) is None: + if self._get(opt.dest, group) is None: raise RequiredOptError(opt.name, group) def _parse_cli_opts(self, args): diff --git a/tests/unit/test_cfg.py b/tests/unit/test_cfg.py index e58f12c..b356fa5 100644 --- a/tests/unit/test_cfg.py +++ b/tests/unit/test_cfg.py @@ -1189,6 +1189,14 @@ class RequiredOptsTestCase(BaseTestCase): self.assertTrue(hasattr(self.conf, 'foo')) self.assertEquals(self.conf.foo, 'bar') + def test_required_cli_opt_with_dash(self): + self.conf.register_cli_opt(StrOpt('foo-bar', required=True)) + + self.conf(['--foo-bar', 'baz']) + + self.assertTrue(hasattr(self.conf, 'foo_bar')) + self.assertEquals(self.conf.foo_bar, 'baz') + def test_missing_required_opt(self): self.conf.register_opt(StrOpt('foo', required=True)) self.assertRaises(RequiredOptError, self.conf, []) |
