]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Improve module-level mocks in midonet tests
authorKevin Benton <blak111@gmail.com>
Fri, 30 May 2014 04:08:24 +0000 (21:08 -0700)
committerKevin Benton <blak111@gmail.com>
Tue, 3 Jun 2014 08:59:43 +0000 (08:59 +0000)
Remove unnecessary module-level mocks and replace
them with test-specific mocks so they don't persist
through the entire test suite.

Partial-Bug: #1316401
Change-Id: I49039749bb700ec0a88639f4772701ba3b920352

neutron/tests/unit/midonet/test_midonet_driver.py
neutron/tests/unit/midonet/test_midonet_lib.py
neutron/tests/unit/midonet/test_midonet_plugin.py

index 84c3b62a56cecc33fe2ad659b6276548892b3145..67677c92a57240b7a4394366857a2cadbebbce78 100644 (file)
@@ -19,8 +19,6 @@
 # @author: Rossella Sblendido, Midokura Japan KK
 
 import mock
-import sys
-sys.modules["midonetclient"] = mock.Mock()
 
 from neutron.agent.common import config
 from neutron.agent.linux import dhcp
index 46532066e6ba541eb020d8c6594ce7c2beac0af0..bed900fa3a5701b41013cfe9c8bf1e10696fb42e 100644 (file)
 #
 # @author: Ryu Ishimoto, Midokura Japan KK
 # @author: Tomoe Sugihara, Midokura Japan KK
+import sys
 
 import mock
-import sys
-sys.modules["midonetclient"] = mock.Mock()
 import testtools
 import webob.exc as w_exc
 
 from neutron.openstack.common import uuidutils
-from neutron.plugins.midonet import midonet_lib
+with mock.patch.dict(sys.modules, {'midonetclient': mock.Mock()}):
+    from neutron.plugins.midonet import midonet_lib
 import neutron.tests.unit.midonet.mock_lib as mock_lib
 
 
index 3dcda484dda049b70737eab78bc4e0a8a5ef424f..46ed5bf0db475e673de283bd112075f187b69ade 100644 (file)
@@ -35,9 +35,6 @@ import neutron.tests.unit.test_l3_plugin as test_l3_plugin
 MIDOKURA_PKG_PATH = "neutron.plugins.midonet.plugin"
 MIDONET_PLUGIN_NAME = ('%s.MidonetPluginV2' % MIDOKURA_PKG_PATH)
 
-# Need to mock the midonetclient module since the plugin will try to load it.
-sys.modules["midonetclient"] = mock.Mock()
-
 
 class MidonetPluginV2TestCase(test_plugin.NeutronDbPluginV2TestCase):
 
@@ -51,6 +48,10 @@ class MidonetPluginV2TestCase(test_plugin.NeutronDbPluginV2TestCase):
         test_lib.test_config['config_files'] = [os.path.join(
             etc_path, 'midonet.ini.test')]
 
+        p = mock.patch.dict(sys.modules, {'midonetclient': mock.Mock()})
+        p.start()
+        # dict patches must be explicitly stopped
+        self.addCleanup(p.stop)
         self.instance = self.mock_api.start()
         mock_cfg = mock_lib.MidonetLibMockConfig(self.instance.return_value)
         mock_cfg.setup()
@@ -68,8 +69,8 @@ class TestMidonetNetworksV2(test_plugin.TestNetworksV2,
     pass
 
 
-class TestMidonetL3NatTestCase(test_l3_plugin.L3NatDBIntTestCase,
-                               MidonetPluginV2TestCase):
+class TestMidonetL3NatTestCase(MidonetPluginV2TestCase,
+                               test_l3_plugin.L3NatDBIntTestCase):
     def setUp(self,
               plugin=MIDONET_PLUGIN_NAME,
               ext_mgr=None,
@@ -147,6 +148,10 @@ class TestMidonetSecurityGroupsTestCase(sg.SecurityGroupDBTestCase):
         self.instance = self.mock_api.start()
         mock_cfg = mock_lib.MidonetLibMockConfig(self.instance.return_value)
         mock_cfg.setup()
+        p = mock.patch.dict(sys.modules, {'midonetclient': mock.Mock()})
+        p.start()
+        # dict patches must be explicitly stopped
+        self.addCleanup(p.stop)
         super(TestMidonetSecurityGroupsTestCase, self).setUp(self._plugin_name)