From c262695a31d698b75ee7e49328c324a045c365f5 Mon Sep 17 00:00:00 2001 From: Henry Gessau Date: Tue, 31 Mar 2015 10:54:51 -0400 Subject: [PATCH] Allow unit tests to be run independently Add various initializations and imports so that unit tests can be run independently. This change fixes the following test cases which could not be run independently, that is running any individual unit test case by going in to the py27 venv and running "unit2 neutron.tests.unit.module.Class.test_case": neutron.tests.unit.plugins.ml2.drivers.arista.test_mechanism_arista.* neutron.tests.unit.plugins.ml2.drivers.cisco.apic.* neutron.tests.unit.plugins.ml2.test_rpc.RpcCallbacksTestCase.* neutron.tests.unit.services.l3_router.test_l3_apic.* neutron.tests.unit.agent.dhcp.test_agent.TestDhcpAgentEventHandler.* (Note that these issues are not seen when running tox because the initializations occur when all test modules are imported for test discovery.) Closes-bug: 1438463 Closes-bug: 1454640 Change-Id: I681caa66b51ce9a7bfbee5dfc43d534ba0d51947 --- neutron/tests/unit/agent/dhcp/test_agent.py | 3 +-- .../unit/plugins/ml2/drivers/arista/test_mechanism_arista.py | 3 ++- neutron/tests/unit/plugins/ml2/drivers/cisco/apic/base.py | 3 +++ neutron/tests/unit/plugins/ml2/test_rpc.py | 4 ++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/neutron/tests/unit/agent/dhcp/test_agent.py b/neutron/tests/unit/agent/dhcp/test_agent.py index afc7cf7d2..2dcda88f6 100644 --- a/neutron/tests/unit/agent/dhcp/test_agent.py +++ b/neutron/tests/unit/agent/dhcp/test_agent.py @@ -540,8 +540,7 @@ class TestDhcpAgentEventHandler(base.BaseTestCase): config.register_interface_driver_opts_helper(cfg.CONF) cfg.CONF.set_override('interface_driver', 'neutron.agent.linux.interface.NullDriver') - cfg.CONF.register_opts(dhcp_config.DHCP_AGENT_OPTS) - cfg.CONF.register_opts(dhcp_config.DHCP_OPTS) + entry.register_options() # register all dhcp cfg options self.plugin_p = mock.patch(DHCP_PLUGIN) plugin_cls = self.plugin_p.start() diff --git a/neutron/tests/unit/plugins/ml2/drivers/arista/test_mechanism_arista.py b/neutron/tests/unit/plugins/ml2/drivers/arista/test_mechanism_arista.py index 6c6ecd640..d743d6aa4 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/arista/test_mechanism_arista.py +++ b/neutron/tests/unit/plugins/ml2/drivers/arista/test_mechanism_arista.py @@ -18,12 +18,13 @@ import sys import mock from neutron.extensions import portbindings +from neutron.tests.unit import testlib_api + with mock.patch.dict(sys.modules, {'networking_arista': mock.Mock(), 'networking_arista.ml2': mock.Mock(), 'networking_arista.common': mock.Mock()}): from neutron.plugins.ml2.drivers.arista import mechanism_arista -from neutron.tests.unit import testlib_api class AristaDriverTestCase(testlib_api.SqlTestCase): diff --git a/neutron/tests/unit/plugins/ml2/drivers/cisco/apic/base.py b/neutron/tests/unit/plugins/ml2/drivers/cisco/apic/base.py index b4bc05e41..889a32e43 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/cisco/apic/base.py +++ b/neutron/tests/unit/plugins/ml2/drivers/cisco/apic/base.py @@ -90,6 +90,9 @@ SERVICE_PEER_PORT_DESC = ('topology/pod-1/paths-%s/pathep-[%s]' % (APIC_EXT_SWITCH, SERVICE_PEER_PORT_LOCAL.lower())) +cfg.CONF.import_group('ml2', 'neutron.plugins.ml2.config') + + class ControllerMixin(object): """Mock the controller for APIC driver and service unit tests.""" diff --git a/neutron/tests/unit/plugins/ml2/test_rpc.py b/neutron/tests/unit/plugins/ml2/test_rpc.py index 56cbdbcb9..17d09328c 100644 --- a/neutron/tests/unit/plugins/ml2/test_rpc.py +++ b/neutron/tests/unit/plugins/ml2/test_rpc.py @@ -21,6 +21,7 @@ import collections import contextlib import mock +from oslo_config import cfg from oslo_context import context as oslo_context from sqlalchemy.orm import exc @@ -34,6 +35,9 @@ from neutron.plugins.ml2 import rpc as plugin_rpc from neutron.tests import base +cfg.CONF.import_group('ml2', 'neutron.plugins.ml2.config') + + class RpcCallbacksTestCase(base.BaseTestCase): def setUp(self): -- 2.45.2