diff options
author | Davanum Srinivas <davanum@gmail.com> | 2012-12-05 16:11:48 -0500 |
---|---|---|
committer | Davanum Srinivas <dims@linux.vnet.ibm.com> | 2012-12-06 07:38:39 -0500 |
commit | 9b8128910787ac5f3e80ab81266d971ff20d1805 (patch) | |
tree | 9afa0127aeb629fcf9bc7b50d170540637082bb9 /tests | |
parent | 255a27333092be0523949bd624c94b740515d018 (diff) | |
download | oslo-9b8128910787ac5f3e80ab81266d971ff20d1805.tar.gz oslo-9b8128910787ac5f3e80ab81266d971ff20d1805.tar.xz oslo-9b8128910787ac5f3e80ab81266d971ff20d1805.zip |
Allow nova and others to override some logging defaults
- In log.py, indicate that logging module allows tweaking
of just logging_context_format_string option
- In cfg.py, add a method that can alter the default given
the options and new default
- add testcases for log.set_defaults and cfg.set_defaults
Fixes LP #1083218
Change-Id: Iefdbce8505eb7a07f2b59d4ed7564b0146f1b0cd
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/test_cfg.py | 45 | ||||
-rw-r--r-- | tests/unit/test_log.py | 29 |
2 files changed, 74 insertions, 0 deletions
diff --git a/tests/unit/test_cfg.py b/tests/unit/test_cfg.py index be64d13..5251862 100644 --- a/tests/unit/test_cfg.py +++ b/tests/unit/test_cfg.py @@ -1760,3 +1760,48 @@ class SubCommandTestCase(BaseTestCase): self.stubs.Set(sys, 'stderr', StringIO.StringIO()) self.assertRaises(SystemExit, self.conf, []) self.assertTrue('multiple' in sys.stderr.getvalue()) + + +class SetDefaultsTestCase(BaseTestCase): + + def test_default_to_none(self): + opts = [StrOpt('foo', default='foo')] + self.conf.register_opts(opts) + set_defaults(opts, foo=None) + self.conf([]) + self.assertEquals(self.conf.foo, None) + + def test_default_from_none(self): + opts = [StrOpt('foo')] + self.conf.register_opts(opts) + set_defaults(opts, foo='bar') + self.conf([]) + self.assertEquals(self.conf.foo, 'bar') + + def test_change_default(self): + opts = [StrOpt('foo', default='foo')] + self.conf.register_opts(opts) + set_defaults(opts, foo='bar') + self.conf([]) + self.assertEquals(self.conf.foo, 'bar') + + def test_group_default_to_none(self): + opts = [StrOpt('foo', default='foo')] + self.conf.register_opts(opts, group='blaa') + set_defaults(opts, foo=None) + self.conf([]) + self.assertEquals(self.conf.blaa.foo, None) + + def test_group_default_from_none(self): + opts = [StrOpt('foo')] + self.conf.register_opts(opts, group='blaa') + set_defaults(opts, foo='bar') + self.conf([]) + self.assertEquals(self.conf.blaa.foo, 'bar') + + def test_group_change_default(self): + opts = [StrOpt('foo', default='foo')] + self.conf.register_opts(opts, group='blaa') + set_defaults(opts, foo='bar') + self.conf([]) + self.assertEquals(self.conf.blaa.foo, 'bar') diff --git a/tests/unit/test_log.py b/tests/unit/test_log.py index f9c6e4c..cc032d9 100644 --- a/tests/unit/test_log.py +++ b/tests/unit/test_log.py @@ -293,3 +293,32 @@ class FancyRecordTestCase(test_utils.BaseTestCase): self.colorlog.warn("warn", context=ctxt) self.assertEqual(infoexpected + warnexpected, self.stream.getvalue()) + + +class SetDefaultsTestCase(test_utils.BaseTestCase): + class TestConfigOpts(cfg.ConfigOpts): + def __call__(self, args=None): + return cfg.ConfigOpts.__call__(self, + args=args, + prog='test', + version='1.0', + usage='%(prog)s FOO BAR', + default_config_files=[]) + + def setUp(self): + super(SetDefaultsTestCase, self).setUp() + self.conf = self.TestConfigOpts() + self.conf.register_opts(log.log_opts) + + def test_default_to_none(self): + log.set_defaults(logging_context_format_string=None) + self.conf([]) + self.assertEquals(self.conf.logging_context_format_string, None) + + def test_change_default(self): + my_default = '%(asctime)s %(levelname)s %(name)s [%(request_id)s '\ + '%(user_id)s %(project)s] %(instance)s'\ + '%(message)s' + log.set_defaults(logging_context_format_string=my_default) + self.conf([]) + self.assertEquals(self.conf.logging_context_format_string, my_default) |