fix fixture tests for fixtures 1.3.x
The latest releases of fixtures do not allow a fixture to be cleaned up more than once, so rewrite the fixture tests to manage the fixture by hand and not clean it up unless that is part of the test being run. Change-Id: I1e2aaa59e713eca231a315860ef84bc272bbe280
This commit is contained in:
parent
56073f066d
commit
d86fd9b03f
@ -20,75 +20,84 @@ from oslotest import base
|
||||
from oslo_config import cfg
|
||||
from oslo_config import fixture as config
|
||||
|
||||
conf = cfg.CONF
|
||||
|
||||
|
||||
class ConfigTestCase(base.BaseTestCase):
|
||||
def setUp(self):
|
||||
super(ConfigTestCase, self).setUp()
|
||||
self.config_fixture = self.useFixture(config.Config(conf))
|
||||
self.config = self.config_fixture.config
|
||||
self.config_fixture.register_opt(cfg.StrOpt(
|
||||
|
||||
def _make_fixture(self):
|
||||
conf = cfg.ConfigOpts()
|
||||
config_fixture = config.Config(conf)
|
||||
config_fixture.setUp()
|
||||
config_fixture.register_opt(cfg.StrOpt(
|
||||
'testing_option', default='initial_value'))
|
||||
return (config_fixture, conf)
|
||||
|
||||
def test_overridden_value(self):
|
||||
f, conf = self._make_fixture()
|
||||
self.assertEqual(conf.get('testing_option'), 'initial_value')
|
||||
self.config(testing_option='changed_value')
|
||||
f.config(testing_option='changed_value')
|
||||
self.assertEqual(conf.get('testing_option'),
|
||||
self.config_fixture.conf.get('testing_option'))
|
||||
f.conf.get('testing_option'))
|
||||
|
||||
def test_cleanup(self):
|
||||
self.config(testing_option='changed_value')
|
||||
self.assertEqual(self.config_fixture.conf.get('testing_option'),
|
||||
f, conf = self._make_fixture()
|
||||
f.config(testing_option='changed_value')
|
||||
self.assertEqual(f.conf.get('testing_option'),
|
||||
'changed_value')
|
||||
self.config_fixture.conf.reset()
|
||||
f.conf.reset()
|
||||
self.assertEqual(conf.get('testing_option'), 'initial_value')
|
||||
|
||||
def test_register_option(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt = cfg.StrOpt('new_test_opt', default='initial_value')
|
||||
self.config_fixture.register_opt(opt)
|
||||
f.register_opt(opt)
|
||||
self.assertEqual(conf.get('new_test_opt'),
|
||||
opt.default)
|
||||
|
||||
def test_register_options(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt1 = cfg.StrOpt('first_test_opt', default='initial_value_1')
|
||||
opt2 = cfg.StrOpt('second_test_opt', default='initial_value_2')
|
||||
self.config_fixture.register_opts([opt1, opt2])
|
||||
f.register_opts([opt1, opt2])
|
||||
self.assertEqual(conf.get('first_test_opt'), opt1.default)
|
||||
self.assertEqual(conf.get('second_test_opt'), opt2.default)
|
||||
|
||||
def test_cleanup_unregister_option(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt = cfg.StrOpt('new_test_opt', default='initial_value')
|
||||
self.config_fixture.register_opt(opt)
|
||||
f.register_opt(opt)
|
||||
self.assertEqual(conf.get('new_test_opt'),
|
||||
opt.default)
|
||||
self.config_fixture.cleanUp()
|
||||
f.cleanUp()
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'new_test_opt')
|
||||
|
||||
def test_register_cli_option(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt = cfg.StrOpt('new_test_opt', default='initial_value')
|
||||
self.config_fixture.register_cli_opt(opt)
|
||||
f.register_cli_opt(opt)
|
||||
self.assertEqual(conf.get('new_test_opt'),
|
||||
opt.default)
|
||||
|
||||
def test_register_cli_options(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt1 = cfg.StrOpt('first_test_opt', default='initial_value_1')
|
||||
opt2 = cfg.StrOpt('second_test_opt', default='initial_value_2')
|
||||
self.config_fixture.register_cli_opts([opt1, opt2])
|
||||
f.register_cli_opts([opt1, opt2])
|
||||
self.assertEqual(conf.get('first_test_opt'), opt1.default)
|
||||
self.assertEqual(conf.get('second_test_opt'), opt2.default)
|
||||
|
||||
def test_cleanup_unregister_cli_option(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt = cfg.StrOpt('new_test_opt', default='initial_value')
|
||||
self.config_fixture.register_cli_opt(opt)
|
||||
f.register_cli_opt(opt)
|
||||
self.assertEqual(conf.get('new_test_opt'),
|
||||
opt.default)
|
||||
self.config_fixture.cleanUp()
|
||||
f.cleanUp()
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'new_test_opt')
|
||||
|
||||
def test_load_raw_values(self):
|
||||
self.config_fixture.load_raw_values(first_test_opt='loaded_value_1',
|
||||
second_test_opt='loaded_value_2')
|
||||
f, conf = self._make_fixture()
|
||||
f.load_raw_values(first_test_opt='loaded_value_1',
|
||||
second_test_opt='loaded_value_2')
|
||||
|
||||
# Must not be registered.
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'first_test_opt')
|
||||
@ -97,47 +106,49 @@ class ConfigTestCase(base.BaseTestCase):
|
||||
opt1 = cfg.StrOpt('first_test_opt', default='initial_value_1')
|
||||
opt2 = cfg.StrOpt('second_test_opt', default='initial_value_2')
|
||||
|
||||
self.config_fixture.register_opt(opt1)
|
||||
self.config_fixture.register_opt(opt2)
|
||||
f.register_opt(opt1)
|
||||
f.register_opt(opt2)
|
||||
|
||||
self.assertEqual(conf.first_test_opt, 'loaded_value_1')
|
||||
self.assertEqual(conf.second_test_opt, 'loaded_value_2')
|
||||
|
||||
# Cleanup.
|
||||
self.config_fixture.cleanUp()
|
||||
f.cleanUp()
|
||||
|
||||
# Must no longer be registered.
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'first_test_opt')
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'second_test_opt')
|
||||
|
||||
# Even when registered, must be default.
|
||||
self.config_fixture.register_opt(opt1)
|
||||
self.config_fixture.register_opt(opt2)
|
||||
f.register_opt(opt1)
|
||||
f.register_opt(opt2)
|
||||
self.assertEqual(conf.first_test_opt, 'initial_value_1')
|
||||
self.assertEqual(conf.second_test_opt, 'initial_value_2')
|
||||
|
||||
def test_assert_default_files_cleanup(self):
|
||||
"""Assert that using the fixture forces a clean list."""
|
||||
f, conf = self._make_fixture()
|
||||
self.assertNotIn('default_config_files', conf)
|
||||
|
||||
config_files = ['./test_fixture.conf']
|
||||
self.config_fixture.set_config_files(config_files)
|
||||
f.set_config_files(config_files)
|
||||
|
||||
self.assertEqual(conf.default_config_files, config_files)
|
||||
self.config_fixture.cleanUp()
|
||||
f.cleanUp()
|
||||
|
||||
self.assertNotIn('default_config_files', conf)
|
||||
|
||||
def test_load_custom_files(self):
|
||||
f, conf = self._make_fixture()
|
||||
self.assertNotIn('default_config_files', conf)
|
||||
config_files = ['./oslo_config/tests/test_fixture.conf']
|
||||
self.config_fixture.set_config_files(config_files)
|
||||
f.set_config_files(config_files)
|
||||
|
||||
opt1 = cfg.StrOpt('first_test_opt', default='initial_value_1')
|
||||
opt2 = cfg.StrOpt('second_test_opt', default='initial_value_2')
|
||||
|
||||
self.config_fixture.register_opt(opt1)
|
||||
self.config_fixture.register_opt(opt2)
|
||||
f.register_opt(opt1)
|
||||
f.register_opt(opt2)
|
||||
|
||||
self.assertEqual('loaded_value_1', conf.get('first_test_opt'))
|
||||
self.assertEqual('loaded_value_2', conf.get('second_test_opt'))
|
||||
|
@ -20,68 +20,135 @@ from oslotest import base
|
||||
from oslo.config import cfg
|
||||
from oslo.config import fixture as config
|
||||
|
||||
conf = cfg.CONF
|
||||
|
||||
|
||||
class ConfigTestCase(base.BaseTestCase):
|
||||
def setUp(self):
|
||||
super(ConfigTestCase, self).setUp()
|
||||
self.config_fixture = self.useFixture(config.Config(conf))
|
||||
self.config = self.config_fixture.config
|
||||
self.config_fixture.register_opt(cfg.StrOpt(
|
||||
|
||||
def _make_fixture(self):
|
||||
conf = cfg.ConfigOpts()
|
||||
config_fixture = config.Config(conf)
|
||||
config_fixture.setUp()
|
||||
config_fixture.register_opt(cfg.StrOpt(
|
||||
'testing_option', default='initial_value'))
|
||||
return (config_fixture, conf)
|
||||
|
||||
def test_overridden_value(self):
|
||||
f, conf = self._make_fixture()
|
||||
self.assertEqual(conf.get('testing_option'), 'initial_value')
|
||||
self.config(testing_option='changed_value')
|
||||
f.config(testing_option='changed_value')
|
||||
self.assertEqual(conf.get('testing_option'),
|
||||
self.config_fixture.conf.get('testing_option'))
|
||||
f.conf.get('testing_option'))
|
||||
|
||||
def test_cleanup(self):
|
||||
self.config(testing_option='changed_value')
|
||||
self.assertEqual(self.config_fixture.conf.get('testing_option'),
|
||||
f, conf = self._make_fixture()
|
||||
f.config(testing_option='changed_value')
|
||||
self.assertEqual(f.conf.get('testing_option'),
|
||||
'changed_value')
|
||||
self.config_fixture.conf.reset()
|
||||
f.conf.reset()
|
||||
self.assertEqual(conf.get('testing_option'), 'initial_value')
|
||||
|
||||
def test_register_option(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt = cfg.StrOpt('new_test_opt', default='initial_value')
|
||||
self.config_fixture.register_opt(opt)
|
||||
f.register_opt(opt)
|
||||
self.assertEqual(conf.get('new_test_opt'),
|
||||
opt.default)
|
||||
|
||||
def test_register_options(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt1 = cfg.StrOpt('first_test_opt', default='initial_value_1')
|
||||
opt2 = cfg.StrOpt('second_test_opt', default='initial_value_2')
|
||||
self.config_fixture.register_opts([opt1, opt2])
|
||||
f.register_opts([opt1, opt2])
|
||||
self.assertEqual(conf.get('first_test_opt'), opt1.default)
|
||||
self.assertEqual(conf.get('second_test_opt'), opt2.default)
|
||||
|
||||
def test_cleanup_unregister_option(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt = cfg.StrOpt('new_test_opt', default='initial_value')
|
||||
self.config_fixture.register_opt(opt)
|
||||
f.register_opt(opt)
|
||||
self.assertEqual(conf.get('new_test_opt'),
|
||||
opt.default)
|
||||
self.config_fixture.cleanUp()
|
||||
f.cleanUp()
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'new_test_opt')
|
||||
|
||||
def test_register_cli_option(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt = cfg.StrOpt('new_test_opt', default='initial_value')
|
||||
self.config_fixture.register_cli_opt(opt)
|
||||
f.register_cli_opt(opt)
|
||||
self.assertEqual(conf.get('new_test_opt'),
|
||||
opt.default)
|
||||
|
||||
def test_register_cli_options(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt1 = cfg.StrOpt('first_test_opt', default='initial_value_1')
|
||||
opt2 = cfg.StrOpt('second_test_opt', default='initial_value_2')
|
||||
self.config_fixture.register_cli_opts([opt1, opt2])
|
||||
f.register_cli_opts([opt1, opt2])
|
||||
self.assertEqual(conf.get('first_test_opt'), opt1.default)
|
||||
self.assertEqual(conf.get('second_test_opt'), opt2.default)
|
||||
|
||||
def test_cleanup_unregister_cli_option(self):
|
||||
f, conf = self._make_fixture()
|
||||
opt = cfg.StrOpt('new_test_opt', default='initial_value')
|
||||
self.config_fixture.register_cli_opt(opt)
|
||||
f.register_cli_opt(opt)
|
||||
self.assertEqual(conf.get('new_test_opt'),
|
||||
opt.default)
|
||||
self.config_fixture.cleanUp()
|
||||
f.cleanUp()
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'new_test_opt')
|
||||
|
||||
def test_load_raw_values(self):
|
||||
f, conf = self._make_fixture()
|
||||
f.load_raw_values(first_test_opt='loaded_value_1',
|
||||
second_test_opt='loaded_value_2')
|
||||
|
||||
# Must not be registered.
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'first_test_opt')
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'second_test_opt')
|
||||
|
||||
opt1 = cfg.StrOpt('first_test_opt', default='initial_value_1')
|
||||
opt2 = cfg.StrOpt('second_test_opt', default='initial_value_2')
|
||||
|
||||
f.register_opt(opt1)
|
||||
f.register_opt(opt2)
|
||||
|
||||
self.assertEqual(conf.first_test_opt, 'loaded_value_1')
|
||||
self.assertEqual(conf.second_test_opt, 'loaded_value_2')
|
||||
|
||||
# Cleanup.
|
||||
f.cleanUp()
|
||||
|
||||
# Must no longer be registered.
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'first_test_opt')
|
||||
self.assertRaises(cfg.NoSuchOptError, conf.get, 'second_test_opt')
|
||||
|
||||
# Even when registered, must be default.
|
||||
f.register_opt(opt1)
|
||||
f.register_opt(opt2)
|
||||
self.assertEqual(conf.first_test_opt, 'initial_value_1')
|
||||
self.assertEqual(conf.second_test_opt, 'initial_value_2')
|
||||
|
||||
def test_assert_default_files_cleanup(self):
|
||||
"""Assert that using the fixture forces a clean list."""
|
||||
f, conf = self._make_fixture()
|
||||
self.assertNotIn('default_config_files', conf)
|
||||
|
||||
config_files = ['./test_fixture.conf']
|
||||
f.set_config_files(config_files)
|
||||
|
||||
self.assertEqual(conf.default_config_files, config_files)
|
||||
f.cleanUp()
|
||||
|
||||
self.assertNotIn('default_config_files', conf)
|
||||
|
||||
def test_load_custom_files(self):
|
||||
f, conf = self._make_fixture()
|
||||
self.assertNotIn('default_config_files', conf)
|
||||
config_files = ['./oslo_config/tests/test_fixture.conf']
|
||||
f.set_config_files(config_files)
|
||||
|
||||
opt1 = cfg.StrOpt('first_test_opt', default='initial_value_1')
|
||||
opt2 = cfg.StrOpt('second_test_opt', default='initial_value_2')
|
||||
|
||||
f.register_opt(opt1)
|
||||
f.register_opt(opt2)
|
||||
|
||||
self.assertEqual('loaded_value_1', conf.get('first_test_opt'))
|
||||
self.assertEqual('loaded_value_2', conf.get('second_test_opt'))
|
||||
|
Loading…
x
Reference in New Issue
Block a user