From d98ca642402bafbaa15ac3df588ed34d58d8456b Mon Sep 17 00:00:00 2001 From: Kevin Benton Date: Sat, 19 Jul 2014 00:54:09 -0700 Subject: [PATCH] Call config_parse in base test setup Some of the tests (e.g. NeutronDbPluginV2AsMixinTestCase) do not call config_parse so if the database engine is not already been setup by another test before the config object is reset on teardown, the database connection will fail since the database config is then empty. This patch adds a new setup_config method called during the base test case setUp method which calls config_parse by default to load the default config. Tests that couldn't use the default config were then modified to override the setup_config method. Some other unit tests were slightly adjusted to pass using the default config. Closes-Bug: #1346673 Change-Id: I3724200fa932115c0a8c264640b1a9dbe431a1cc --- neutron/tests/base.py | 6 ++++++ neutron/tests/unit/ofagent/test_ofa_neutron_agent.py | 4 +++- neutron/tests/unit/test_agent_netns_cleanup.py | 4 ++++ neutron/tests/unit/test_agent_ovs_cleanup.py | 4 ++++ neutron/tests/unit/test_config.py | 4 ++++ neutron/tests/unit/test_dhcp_agent.py | 1 + neutron/tests/unit/test_l3_agent.py | 1 + 7 files changed, 23 insertions(+), 1 deletion(-) diff --git a/neutron/tests/base.py b/neutron/tests/base.py index 253210f7686..b0bccef37f3 100644 --- a/neutron/tests/base.py +++ b/neutron/tests/base.py @@ -190,6 +190,12 @@ class BaseTestCase(testtools.TestCase): if sys.version_info < (2, 7) and getattr(self, 'fmt', '') == 'xml': raise self.skipException('XML Testing Skipped in Py26') + self.setup_config() + + def setup_config(self): + """Tests that need a non-default config can override this method.""" + self.config_parse() + def config(self, **kw): """Override some configuration values. diff --git a/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py b/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py index 5e0daf289e5..efc3df7e8ba 100644 --- a/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py +++ b/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py @@ -54,10 +54,12 @@ class OFAAgentTestCase(base.BaseTestCase): super(OFAAgentTestCase, self).setUp() self.fake_oflib_of = fake_oflib.patch_fake_oflib_of().start() self.mod_agent = importutils.import_module(self._AGENT_NAME) + self.ryuapp = mock.Mock() + + def setup_config(self): cfg.CONF.set_default('firewall_driver', 'neutron.agent.firewall.NoopFirewallDriver', group='SECURITYGROUP') - self.ryuapp = mock.Mock() cfg.CONF.register_cli_opts([ cfg.StrOpt('ofp-listen-host', default='', help='openflow listen host'), diff --git a/neutron/tests/unit/test_agent_netns_cleanup.py b/neutron/tests/unit/test_agent_netns_cleanup.py index 13c8335dffb..ff2d62e01af 100644 --- a/neutron/tests/unit/test_agent_netns_cleanup.py +++ b/neutron/tests/unit/test_agent_netns_cleanup.py @@ -22,6 +22,10 @@ from neutron.tests import base class TestNetnsCleanup(base.BaseTestCase): + def setup_config(self): + # don't use default config + pass + def test_setup_conf(self): expected_opts = interface.OPTS conf = util.setup_conf() diff --git a/neutron/tests/unit/test_agent_ovs_cleanup.py b/neutron/tests/unit/test_agent_ovs_cleanup.py index 137e8bbb82a..2735fbac6b1 100644 --- a/neutron/tests/unit/test_agent_ovs_cleanup.py +++ b/neutron/tests/unit/test_agent_ovs_cleanup.py @@ -26,6 +26,10 @@ from neutron.tests import base class TestOVSCleanup(base.BaseTestCase): + def setup_config(self): + # don't use default config + pass + def test_setup_conf(self): conf = util.setup_conf() self.assertEqual(conf.external_network_bridge, 'br-ex') diff --git a/neutron/tests/unit/test_config.py b/neutron/tests/unit/test_config.py index 4a93ed6fede..97c61bdedea 100644 --- a/neutron/tests/unit/test_config.py +++ b/neutron/tests/unit/test_config.py @@ -24,6 +24,10 @@ from neutron.tests import base class ConfigurationTest(base.BaseTestCase): + def setup_config(self): + # don't use default config + pass + def test_defaults(self): self.assertEqual('0.0.0.0', cfg.CONF.bind_host) self.assertEqual(9696, cfg.CONF.bind_port) diff --git a/neutron/tests/unit/test_dhcp_agent.py b/neutron/tests/unit/test_dhcp_agent.py index 37ac61e0e20..3740199ae4b 100644 --- a/neutron/tests/unit/test_dhcp_agent.py +++ b/neutron/tests/unit/test_dhcp_agent.py @@ -645,6 +645,7 @@ class TestDhcpAgentEventHandler(base.BaseTestCase): def test_enable_isolated_metadata_proxy_with_metadata_network(self): cfg.CONF.set_override('enable_metadata_network', True) cfg.CONF.set_override('debug', True) + cfg.CONF.set_override('verbose', False) cfg.CONF.set_override('log_file', 'test.log') class_path = 'neutron.agent.linux.ip_lib.IPWrapper' self.external_process_p.stop() diff --git a/neutron/tests/unit/test_l3_agent.py b/neutron/tests/unit/test_l3_agent.py index 132ff1dd439..b0d5c1a6f2c 100644 --- a/neutron/tests/unit/test_l3_agent.py +++ b/neutron/tests/unit/test_l3_agent.py @@ -1470,6 +1470,7 @@ class TestL3AgentEventHandler(base.BaseTestCase): 'interface_driver', 'neutron.agent.linux.interface.NullDriver' ) cfg.CONF.set_override('use_namespaces', True) + cfg.CONF.set_override('verbose', False) agent_config.register_root_helper(cfg.CONF) device_exists_p = mock.patch(