Add enforce_type=True in CONF.set_override

Each config option has limitation for type and value.
In production code, oslo.conf can ensure user's input
is valid, but in unit test, test methods can pass if
we use method CONF.set_override without parameter
enforce_type=True even we pass wrong type or wrong
value to config option. This commit makes sure calling
method CONF.set_override with enforce_type=True.
Closes-bug: #1517839

Change-Id: I7a4e00c0eb6423d0826eb1c1b1e1ad3da786fb52
This commit is contained in:
LiuNanke 2016-01-07 00:45:18 +08:00
parent b9290138bf
commit 2154861bd9
5 changed files with 19 additions and 10 deletions

View File

@ -131,7 +131,7 @@ class FunctionalTestCase(base.BaseTestCase):
def flags(self, group=None, **kw):
"""Override flag variables for a test."""
for k, v in six.iteritems(kw):
CONF.set_override(k, v, group)
CONF.set_override(k, v, group, enforce_type=True)
def path_get(self, project_file=None):
"""Get the absolute path to a file. Used for testing the API.

View File

@ -40,7 +40,8 @@ class MigrationFunctionalTests(base.BaseTestCase):
self.config = self.config_fixture.config
self.config_fixture.register_opt(cfg.StrOpt(
'connection', default='sqlite://'))
conf.set_override('connection', 'sqlite://', 'database')
conf.set_override('connection', 'sqlite://', 'database',
enforce_type=True)
self.cmd = database.DatabaseCommands()

View File

@ -37,9 +37,12 @@ class MonitorFunctionalTests(base.FunctionalTestCase):
def setUp(self):
super(MonitorFunctionalTests, self).setUp()
CONF.set_override("coord_url", "zake", group="taskflow")
CONF.set_override("zk_hosts", "", group="taskflow")
CONF.set_override("zk_port", "", group="taskflow")
CONF.set_override("coord_url", "zake", group="taskflow",
enforce_type=True)
CONF.set_override("zk_hosts", "", group="taskflow",
enforce_type=True)
CONF.set_override("zk_port", "", group="taskflow",
enforce_type=True)
self.test_uuid_1 = uuid.uuid4()
self.test_uuid_2 = uuid.uuid4()

View File

@ -33,7 +33,8 @@ class TestMigration(oslo_base.BaseTestCase):
def setUp(self):
super(TestMigration, self).setUp()
CONF.set_override("connection", "sqlite://", group="database")
CONF.set_override("connection", "sqlite://", group="database",
enforce_type=True)
self.cue_manage_database = cue_db.DatabaseCommands()
@mock.patch('oslo_db.sqlalchemy.migration_cli.manager.'

View File

@ -33,9 +33,12 @@ class TestMonitorService(oslo_base.BaseTestCase):
def setUp(self):
super(TestMonitorService, self).setUp()
CONF.set_override("coord_url", "zake", group="taskflow")
CONF.set_override("zk_hosts", "", group="taskflow")
CONF.set_override("zk_port", "", group="taskflow")
CONF.set_override("coord_url", "zake", group="taskflow",
enforce_type=True)
CONF.set_override("zk_hosts", "", group="taskflow",
enforce_type=True)
CONF.set_override("zk_port", "", group="taskflow",
enforce_type=True)
self.cue_monitor_service = cue_monitor_service.MonitorService()
@ -45,7 +48,8 @@ class TestMonitorService(oslo_base.BaseTestCase):
mock_fixed_interval_loop_call_start,
mock_loop_call_wait):
CONF.set_override("loop_interval_seconds", "9001",
group="cue_monitor")
group="cue_monitor",
enforce_type=True)
self.cue_monitor_service.start()