From 2d34f2b49373e3bcb029c3f7b35d3773cbc77885 Mon Sep 17 00:00:00 2001 From: Isaku Yamahata Date: Fri, 23 Jun 2017 17:38:28 -0700 Subject: [PATCH] unit: consolidate mocking start_odl_sync_thread Introduce fixture to mock start_odl_sync_thread. and mock _start_sync_timer. It's also needs to be mocked to avoid running timer unintentionally. Change-Id: I8298189fcbe56028fa08b96cb50f50d5163a58f0 --- networking_odl/tests/base.py | 9 +++++++++ networking_odl/tests/unit/base_v2.py | 3 +-- networking_odl/tests/unit/l3/test_l3_odl_v2.py | 3 +-- .../tests/unit/ml2/test_mechanism_odl_v2.py | 11 ++++++----- networking_odl/tests/unit/qos/test_qos_driver_v2.py | 5 ++--- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/networking_odl/tests/base.py b/networking_odl/tests/base.py index 1cb1389be..20f87e2e4 100644 --- a/networking_odl/tests/base.py +++ b/networking_odl/tests/base.py @@ -22,6 +22,8 @@ from oslo_config import cfg from networking_odl.common import odl_features from neutron.tests import base +from networking_odl.journal import journal + class DietTestCase(base.DietTestCase): @@ -75,3 +77,10 @@ class OpenDaylightFeaturesFixture(fixtures.Fixture): @staticmethod def fake_init(): odl_features.feature_set = set() + + +class OpenDaylightJournalThreadFixture(fixtures.Fixture): + def _setUp(self): + super(OpenDaylightJournalThreadFixture, self)._setUp() + mock.patch.object(journal.OpenDaylightJournalThread, + 'start_odl_sync_thread').start() diff --git a/networking_odl/tests/unit/base_v2.py b/networking_odl/tests/unit/base_v2.py index 7729efff0..a7df702af 100644 --- a/networking_odl/tests/unit/base_v2.py +++ b/networking_odl/tests/unit/base_v2.py @@ -35,8 +35,7 @@ class OpenDaylightConfigBase(test_plugin.Ml2PluginV2TestCase, ['logger', 'opendaylight_v2'], 'ml2') cfg.CONF.set_override('extension_drivers', ['port_security', 'qos'], 'ml2') - self.mock_sync_thread = mock.patch.object( - journal.OpenDaylightJournalThread, 'start_odl_sync_thread').start() + self.useFixture(base.OpenDaylightJournalThreadFixture()) self.mock_mt_thread = mock.patch.object( maintenance.MaintenanceThread, 'start').start() self.thread = journal.OpenDaylightJournalThread() diff --git a/networking_odl/tests/unit/l3/test_l3_odl_v2.py b/networking_odl/tests/unit/l3/test_l3_odl_v2.py index 1ac0c42b4..f76529ff9 100644 --- a/networking_odl/tests/unit/l3/test_l3_odl_v2.py +++ b/networking_odl/tests/unit/l3/test_l3_odl_v2.py @@ -111,8 +111,7 @@ class OpenDaylightL3TestCase(test_db_base_plugin_v2.NeutronDbPluginV2TestCase, cfg.CONF.set_override("service_plugins", ['odl-router_v2']) core_plugin = cfg.CONF.core_plugin service_plugins = {'l3_plugin_name': 'odl-router_v2'} - mock.patch.object(journal.OpenDaylightJournalThread, - 'start_odl_sync_thread').start() + self.useFixture(odl_base.OpenDaylightJournalThreadFixture()) self.mock_mt_thread = mock.patch.object( maintenance.MaintenanceThread, 'start').start() mock.patch.object(mech_driver_v2.OpenDaylightMechanismDriver, diff --git a/networking_odl/tests/unit/ml2/test_mechanism_odl_v2.py b/networking_odl/tests/unit/ml2/test_mechanism_odl_v2.py index 5a86bb4de..35e8ffd57 100644 --- a/networking_odl/tests/unit/ml2/test_mechanism_odl_v2.py +++ b/networking_odl/tests/unit/ml2/test_mechanism_odl_v2.py @@ -43,7 +43,7 @@ from networking_odl.journal import cleanup from networking_odl.journal import journal from networking_odl.journal import maintenance from networking_odl.ml2 import mech_driver_v2 -from networking_odl.tests import base as odl_base +from networking_odl.tests import base from networking_odl.tests.unit import base_v2 @@ -60,15 +60,14 @@ SG_RULE_FAKE_ID = uuidutils.generate_uuid() class OpenDayLightMechanismConfigTests(testlib_api.SqlTestCase): def setUp(self): super(OpenDayLightMechanismConfigTests, self).setUp() - self.mock_sync_thread = mock.patch.object( - journal.OpenDaylightJournalThread, 'start_odl_sync_thread').start() + self.useFixture(base.OpenDaylightJournalThreadFixture()) self.mock_mt_thread = mock.patch.object( maintenance.MaintenanceThread, 'start').start() cfg.CONF.set_override('mechanism_drivers', ['logger', 'opendaylight_v2'], 'ml2') cfg.CONF.set_override('port_binding_controller', 'legacy-port-binding', 'ml2_odl') - self.useFixture(odl_base.OpenDaylightFeaturesFixture()) + self.useFixture(base.OpenDaylightFeaturesFixture()) def _set_config(self, url='http://127.0.0.1:9999', username='someuser', password='somepass'): @@ -156,7 +155,9 @@ class AttributeDict(dict): class OpenDaylightMechanismDriverTestCase(base_v2.OpenDaylightConfigBase): def setUp(self): super(OpenDaylightMechanismDriverTestCase, self).setUp() - self.useFixture(odl_base.OpenDaylightFeaturesFixture()) + self.useFixture(base.OpenDaylightFeaturesFixture()) + self.mock_sync_thread = mock.patch.object( + journal.OpenDaylightJournalThread, 'start_odl_sync_thread').start() self.db_session = neutron_db_api.get_writer_session() self.mech = mech_driver_v2.OpenDaylightMechanismDriver() self.mech.initialize() diff --git a/networking_odl/tests/unit/qos/test_qos_driver_v2.py b/networking_odl/tests/unit/qos/test_qos_driver_v2.py index 5d27f04a1..e79096231 100644 --- a/networking_odl/tests/unit/qos/test_qos_driver_v2.py +++ b/networking_odl/tests/unit/qos/test_qos_driver_v2.py @@ -18,8 +18,8 @@ from neutron.db import api as neutron_db_api from networking_odl.common import constants as odl_const from networking_odl.db import db -from networking_odl.journal import journal from networking_odl.qos import qos_driver_v2 as qos_driver +from networking_odl.tests import base from networking_odl.tests.unit import base_v2 @@ -29,8 +29,7 @@ class OpenDaylightQosDriverTestCase(base_v2.OpenDaylightConfigBase): super(OpenDaylightQosDriverTestCase, self).setUp() self.db_session = neutron_db_api.get_writer_session() self.qos_driver = qos_driver.OpenDaylightQosDriver() - self.mock_sync_thread = mock.patch.object( - journal.OpenDaylightJournalThread, 'start_odl_sync_thread').start() + self.useFixture(base.OpenDaylightJournalThreadFixture()) def _get_mock_context(self): current = {'tenant_id': 'tenant_id'}