]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Make DHCP tests cleanup neutron manager reference
authorKevin Benton <blak111@gmail.com>
Wed, 18 Mar 2015 15:14:09 +0000 (08:14 -0700)
committerKevin Benton <blak111@gmail.com>
Wed, 18 Mar 2015 15:57:04 +0000 (08:57 -0700)
The DHCP scheduler unit tests occasionally call methods
on the core plugin via the neutron manager (e.g. in report_state).
However, they weren't calling the normal unit test cleanup routines
for tests that call the core plugin so they were leaving stale
references in the manager.

This patch uses the setup_coreplugin helper that sets up the
configuration for the core plugin and adds the cleanup call
to ensure that the neutron manager is cleaned up at the end
of each test.

Closes-Bug: #1434278
Change-Id: Ic35629659574121c739574c1ed39364d6977c3ea

neutron/tests/unit/test_dhcp_scheduler.py

index 36a2ba1306d56f21f225789e837111e38f82e447..144d5563af2aee47a3a23758d4f5f2d4b57acf95 100644 (file)
@@ -31,6 +31,7 @@ from neutron.db import models_v2
 from neutron.extensions import dhcpagentscheduler
 from neutron.scheduler import dhcp_agent_scheduler
 from neutron.tests.unit import testlib_api
+from neutron.tests.unit import testlib_plugin
 
 # Required to generate tests from scenarios. Not compatible with nose.
 load_tests = testscenarios.load_tests_apply_scenarios
@@ -268,7 +269,8 @@ class TestNetworksFailover(TestDhcpSchedulerBaseTestCase,
             self.assertIn('foo4', res_ids)
 
 
-class DHCPAgentWeightSchedulerTestCase(TestDhcpSchedulerBaseTestCase):
+class DHCPAgentWeightSchedulerTestCase(TestDhcpSchedulerBaseTestCase,
+                                       testlib_plugin.PluginSetupHelper):
     """Unit test scenarios for WeightScheduler.schedule."""
 
     hostc = {
@@ -294,7 +296,7 @@ class DHCPAgentWeightSchedulerTestCase(TestDhcpSchedulerBaseTestCase):
     def setUp(self):
         super(DHCPAgentWeightSchedulerTestCase, self).setUp()
         DB_PLUGIN_KLASS = 'neutron.plugins.ml2.plugin.Ml2Plugin'
-        cfg.CONF.set_override("core_plugin", DB_PLUGIN_KLASS)
+        self.setup_coreplugin(DB_PLUGIN_KLASS)
         cfg.CONF.set_override("network_scheduler_driver",
             'neutron.scheduler.dhcp_agent_scheduler.WeightScheduler')
         self.dhcp_periodic_p = mock.patch(