summaryrefslogtreecommitdiff
path: root/tests/test_cfg.py
diff options
context:
space:
mode:
authorFlaper Fesp <flaper87@gmail.com>2013-08-14 09:31:37 +0200
committerFlaper Fesp <flaper87@gmail.com>2013-08-14 10:27:08 +0200
commitc280f6060c6bbc50e9f5f74232b3c45bccee2ec4 (patch)
tree50187f85763c8d0532b0d5d2fddcaf3b11b06788 /tests/test_cfg.py
parentc85c8e6c4d5a921aa36a4774fe6bd8ab07d58fb3 (diff)
downloadoslo-config-c280f6060c6bbc50e9f5f74232b3c45bccee2ec4.tar.gz
Add auto-create support for OptGroup instances
Currently, it is possible to auto-create groups by passing a group name to register_opt or register_opts. However, it is not possible to auto-register groups when a OptGroup instance is passed instead. This patch adds support for that to the _get_group method. There are some advantages introduced by this patch: * It keeps consistency of oslo.config's public API. * It allow users to auto-register a group a group and re-use the instance: group = cfg.OptGroup("test") cfg.register_opts(..., group=group) # do something with the group * It allows users to auto-register groups with descriptions. DocImpact Change-Id: I9b9a74688c906d6bdea9c42044b47dc52e48c19d
Diffstat (limited to 'tests/test_cfg.py')
-rw-r--r--tests/test_cfg.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/tests/test_cfg.py b/tests/test_cfg.py
index 086e55b..785a57e 100644
--- a/tests/test_cfg.py
+++ b/tests/test_cfg.py
@@ -1347,7 +1347,7 @@ class OptGroupsTestCase(BaseTestCase):
self.assertTrue(hasattr(self.conf.blaa, 'foo'))
self.assertEqual(self.conf.blaa.foo, 'bar')
- def test_autocreate_group(self):
+ def test_autocreate_group_by_name(self):
self.conf.register_cli_opt(cfg.StrOpt('foo'), group='blaa')
self.conf(['--blaa-foo', 'bar'])
@@ -1356,6 +1356,16 @@ class OptGroupsTestCase(BaseTestCase):
self.assertTrue(hasattr(self.conf.blaa, 'foo'))
self.assertEqual(self.conf.blaa.foo, 'bar')
+ def test_autocreate_group_by_group(self):
+ group = cfg.OptGroup(name='blaa', title='Blaa options')
+ self.conf.register_cli_opt(cfg.StrOpt('foo'), group=group)
+
+ self.conf(['--blaa-foo', 'bar'])
+
+ self.assertTrue(hasattr(self.conf, 'blaa'))
+ self.assertTrue(hasattr(self.conf.blaa, 'foo'))
+ self.assertEqual(self.conf.blaa.foo, 'bar')
+
def test_autocreate_title(self):
blaa_group = cfg.OptGroup('blaa')
self.assertEqual(blaa_group.title, 'blaa options')
@@ -2200,11 +2210,6 @@ class SadPathTestCase(BaseTestCase):
self.conf.register_cli_opt(cfg.StrOpt('bar', short='f'))
self.assertRaises(cfg.DuplicateOptError, self.conf, [])
- def test_no_such_group(self):
- group = cfg.OptGroup('blaa')
- self.assertRaises(cfg.NoSuchGroupError, self.conf.register_cli_opt,
- cfg.StrOpt('foo'), group=group)
-
def test_already_parsed(self):
self.conf([])