From cea9e39dd70e6b5c5f0e5aac5e9b7fc477ab990c Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Sat, 23 Feb 2013 10:35:28 +0000 Subject: [PATCH] Add common test base class to hold common things. There are several common fixtures that every test case wants. Following the pattern in Nova, add a common base test case class to hold these things. Change-Id: I2d2cd91e5051d9cbf230e6f48985d6eddcb7b58a --- HACKING.rst | 5 +- .../cisco/tests/unit/test_cisco_extension.py | 6 +- .../plugins/cisco/tests/unit/test_database.py | 9 ++- quantum/tests/base.py | 72 +++++++++++++++++++ quantum/tests/unit/__init__.py | 3 +- quantum/tests/unit/_test_rootwrap_exec.py | 4 +- .../tests/unit/brocade/test_brocade_vlan.py | 4 +- quantum/tests/unit/cisco/test_nexus_plugin.py | 4 +- .../unit/hyperv/test_hyperv_quantum_agent.py | 4 +- .../tests/unit/hyperv/test_hyperv_rpcapi.py | 4 +- .../tests/unit/linuxbridge/test_defaults.py | 4 +- quantum/tests/unit/linuxbridge/test_lb_db.py | 3 +- .../unit/linuxbridge/test_lb_quantum_agent.py | 5 +- quantum/tests/unit/linuxbridge/test_rpcapi.py | 4 +- .../tests/unit/metaplugin/test_metaplugin.py | 3 +- .../tests/unit/midonet/test_midonet_lib.py | 4 +- quantum/tests/unit/nec/test_config.py | 5 +- quantum/tests/unit/nec/test_db.py | 4 +- quantum/tests/unit/nec/test_ofc_manager.py | 5 +- quantum/tests/unit/nec/test_pfc_driver.py | 8 +-- quantum/tests/unit/nec/test_trema_driver.py | 8 +-- quantum/tests/unit/nicira/test_defaults.py | 5 +- quantum/tests/unit/nicira/test_networkgw.py | 3 +- .../tests/unit/nicira/test_nvp_api_common.py | 6 +- .../tests/unit/nicira/test_nvp_api_request.py | 4 +- .../nicira/test_nvp_api_request_eventlet.py | 4 +- quantum/tests/unit/nicira/test_nvplib.py | 5 +- quantum/tests/unit/openvswitch/test_ovs_db.py | 5 +- .../unit/openvswitch/test_ovs_defaults.py | 5 +- .../tests/unit/openvswitch/test_ovs_lib.py | 4 +- .../openvswitch/test_ovs_quantum_agent.py | 5 +- .../tests/unit/openvswitch/test_ovs_rpcapi.py | 4 +- .../tests/unit/openvswitch/test_ovs_tunnel.py | 4 +- quantum/tests/unit/ryu/test_defaults.py | 4 +- quantum/tests/unit/ryu/test_ryu_agent.py | 5 +- .../agent_loadbalancer/agent/test_api.py | 4 +- .../agent_loadbalancer/agent/test_init.py | 3 +- .../agent_loadbalancer/agent/test_manager.py | 6 +- .../driver/haproxy/test_cfg.py | 4 +- .../driver/haproxy/test_namespace_driver.py | 4 +- .../agent_loadbalancer/test_plugin.py | 4 +- quantum/tests/unit/test_agent_config.py | 5 +- quantum/tests/unit/test_agent_linux_utils.py | 8 +-- .../tests/unit/test_agent_netns_cleanup.py | 6 +- quantum/tests/unit/test_agent_ovs_cleanup.py | 4 +- quantum/tests/unit/test_agent_rpc.py | 6 +- quantum/tests/unit/test_api_api_common.py | 4 +- quantum/tests/unit/test_api_v2.py | 24 +++---- quantum/tests/unit/test_api_v2_resource.py | 6 +- quantum/tests/unit/test_attributes.py | 11 +-- quantum/tests/unit/test_auth.py | 21 +++++- quantum/tests/unit/test_common_utils.py | 3 +- quantum/tests/unit/test_config.py | 4 +- quantum/tests/unit/test_db.py | 4 +- quantum/tests/unit/test_db_migration.py | 6 +- quantum/tests/unit/test_db_plugin.py | 4 +- quantum/tests/unit/test_db_rpc_base.py | 4 +- quantum/tests/unit/test_debug_commands.py | 4 +- quantum/tests/unit/test_dhcp_agent.py | 16 +++-- .../unit/test_extension_extended_attribute.py | 4 +- quantum/tests/unit/test_extensions.py | 12 ++-- quantum/tests/unit/test_iptables_firewall.py | 4 +- quantum/tests/unit/test_iptables_manager.py | 6 +- quantum/tests/unit/test_l3_agent.py | 4 +- quantum/tests/unit/test_l3_plugin.py | 1 + quantum/tests/unit/test_linux_daemon.py | 5 +- quantum/tests/unit/test_linux_dhcp.py | 6 +- .../tests/unit/test_linux_external_process.py | 4 +- quantum/tests/unit/test_linux_interface.py | 4 +- quantum/tests/unit/test_linux_ip_lib.py | 16 ++--- .../tests/unit/test_loadbalancer_plugin.py | 2 +- quantum/tests/unit/test_metadata_agent.py | 9 +-- .../unit/test_metadata_namespace_proxy.py | 7 +- quantum/tests/unit/test_policy.py | 10 +-- quantum/tests/unit/test_quantum_context.py | 4 +- quantum/tests/unit/test_quantum_manager.py | 4 +- .../tests/unit/test_quota_per_tenant_ext.py | 1 + quantum/tests/unit/test_rootwrap.py | 4 +- .../tests/unit/test_routerserviceinsertion.py | 3 +- .../tests/unit/test_security_groups_rpc.py | 12 ++-- quantum/tests/unit/test_servicetype.py | 2 +- quantum/tests/unit/test_wsgi.py | 21 +++--- quantum/tests/unit/testlib_api.py | 5 +- 83 files changed, 322 insertions(+), 224 deletions(-) create mode 100644 quantum/tests/base.py diff --git a/HACKING.rst b/HACKING.rst index 4333d256850..84e81af97d7 100644 --- a/HACKING.rst +++ b/HACKING.rst @@ -199,7 +199,10 @@ bug that had no unit test, a new passing unit test should be added. If a submitted bug fix does have a unit test, be sure to add a new one that fails without the patch and passes with the patch. -All unittest classes must ultimately inherit from testtools.TestCase. +All unittest classes must ultimately inherit from testtools.TestCase. In the +Quantum test suite, this should be done by inheriting from +quantum.tests.base.BaseTestCase. + All setUp and tearDown methods must upcall using the super() method. tearDown methods should be avoided and addCleanup calls should be preferred. Never manually create tempfiles. Always use the tempfile fixtures from diff --git a/quantum/plugins/cisco/tests/unit/test_cisco_extension.py b/quantum/plugins/cisco/tests/unit/test_cisco_extension.py index 87fa731facd..acc022062fd 100644 --- a/quantum/plugins/cisco/tests/unit/test_cisco_extension.py +++ b/quantum/plugins/cisco/tests/unit/test_cisco_extension.py @@ -22,7 +22,6 @@ import logging import os.path import routes -import testtools import webob from webtest import TestApp @@ -42,6 +41,7 @@ from quantum.openstack.common import jsonutils from quantum.plugins.cisco.db import api as db from quantum.plugins.cisco import l2network_plugin from quantum.plugins.cisco.l2network_plugin import L2Network +from quantum.tests import base from quantum.tests.unit.extension_stubs import StubBaseAppController from quantum import wsgi @@ -150,7 +150,7 @@ class ExtensionsTestApp(wsgi.Router): self._delete_network(net_id) -class QosExtensionTest(testtools.TestCase): +class QosExtensionTest(base.BaseTestCase): def setUp(self): @@ -406,7 +406,7 @@ class QosExtensionTest(testtools.TestCase): db.clear_db() -class CredentialExtensionTest(testtools.TestCase): +class CredentialExtensionTest(base.BaseTestCase): def setUp(self): diff --git a/quantum/plugins/cisco/tests/unit/test_database.py b/quantum/plugins/cisco/tests/unit/test_database.py index 20362369bef..bc183a18097 100644 --- a/quantum/plugins/cisco/tests/unit/test_database.py +++ b/quantum/plugins/cisco/tests/unit/test_database.py @@ -22,13 +22,12 @@ that tests the database api method calls import logging as LOG -import testtools - from quantum.openstack.common import log as logging from quantum.plugins.cisco.common import cisco_constants as const import quantum.plugins.cisco.db.api as db import quantum.plugins.cisco.db.l2network_db as l2network_db import quantum.plugins.cisco.db.nexus_db_v2 as nexus_db +from quantum.tests import base LOG = logging.getLogger(__name__) @@ -347,7 +346,7 @@ class QuantumDB(object): raise Exception("Failed to unplug interface: %s" % str(exc)) -class NexusDBTest(testtools.TestCase): +class NexusDBTest(base.BaseTestCase): """Class conisting of nexus DB unit tests""" def setUp(self): super(NexusDBTest, self).setUp() @@ -409,7 +408,7 @@ class NexusDBTest(testtools.TestCase): self.dbtest.delete_nexusportbinding(vlan_id) -class L2networkDBTest(testtools.TestCase): +class L2networkDBTest(base.BaseTestCase): """Class conisting of L2network DB unit tests""" def setUp(self): """Setup for tests""" @@ -515,7 +514,7 @@ class L2networkDBTest(testtools.TestCase): self.dbtest.delete_vlan_binding(netid) -class QuantumDBTest(testtools.TestCase): +class QuantumDBTest(base.BaseTestCase): """Class conisting of Quantum DB unit tests""" def setUp(self): """Setup for tests""" diff --git a/quantum/tests/base.py b/quantum/tests/base.py new file mode 100644 index 00000000000..7a582fa9a06 --- /dev/null +++ b/quantum/tests/base.py @@ -0,0 +1,72 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2010-2011 OpenStack, LLC +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +"""Base Test Case for all Unit Tests""" + +import os + +import fixtures +from oslo.config import cfg +import testtools + +CONF = cfg.CONF +TRUE_STRING = ['True', '1'] + + +class BaseTestCase(testtools.TestCase): + + def setUp(self): + super(BaseTestCase, self).setUp() + + self.useFixture(fixtures.FakeLogger( + format="%(asctime)s %(levelname)8s [%(name)s] %(message)s")) + + test_timeout = int(os.environ.get('OS_TEST_TIMEOUT', 0)) + if test_timeout == -1: + test_timeout = 0 + if test_timeout > 0: + self.useFixture(fixtures.Timeout(test_timeout, gentle=True)) + + # If someone does use tempfile directly, ensure that it's cleaned up + self.useFixture(fixtures.NestedTempfile()) + self.useFixture(fixtures.TempHomeDir()) + + self.addCleanup(CONF.reset) + + if os.environ.get('OS_STDOUT_NOCAPTURE') not in TRUE_STRING: + stdout = self.useFixture(fixtures.StringStream('stdout')).stream + self.useFixture(fixtures.MonkeyPatch('sys.stdout', stdout)) + if os.environ.get('OS_STDERR_NOCAPTURE') not in TRUE_STRING: + stderr = self.useFixture(fixtures.StringStream('stderr')).stream + self.useFixture(fixtures.MonkeyPatch('sys.stderr', stderr)) + + def config(self, **kw): + """ + Override some configuration values. + + The keyword arguments are the names of configuration options to + override and their values. + + If a group argument is supplied, the overrides are applied to + the specified configuration option group. + + All overrides are automatically cleared at the end of the current + test by the fixtures cleanup process. + """ + group = kw.pop('group', None) + for k, v in kw.iteritems(): + CONF.set_override(k, v, group) diff --git a/quantum/tests/unit/__init__.py b/quantum/tests/unit/__init__.py index de5064afe0c..eeda0121b31 100644 --- a/quantum/tests/unit/__init__.py +++ b/quantum/tests/unit/__init__.py @@ -21,8 +21,6 @@ import __builtin__ import os -import testtools - setattr(__builtin__, '_', lambda x: x) from oslo.config import cfg @@ -34,3 +32,4 @@ cfg.CONF.state_path = absdir # An empty lock path forces lockutils.synchronized to use a temporary # location for lock files that will be cleaned up automatically. cfg.CONF.lock_path = '' +cfg.CONF.use_stderr = False diff --git a/quantum/tests/unit/_test_rootwrap_exec.py b/quantum/tests/unit/_test_rootwrap_exec.py index 188717cca64..e1f54df8f9f 100644 --- a/quantum/tests/unit/_test_rootwrap_exec.py +++ b/quantum/tests/unit/_test_rootwrap_exec.py @@ -18,16 +18,16 @@ import os import fixtures -import testtools from quantum.agent.linux import utils from quantum.openstack.common import log as logging +from quantum.tests import base LOG = logging.getLogger(__name__) -class RootwrapTestExec(testtools.TestCase): +class RootwrapTestExec(base.BaseTestCase): """Simple unit test to test the basic rootwrap mechanism Essentially hello-world. Just run a command as root and check that diff --git a/quantum/tests/unit/brocade/test_brocade_vlan.py b/quantum/tests/unit/brocade/test_brocade_vlan.py index 454417d0206..5640ca0030a 100644 --- a/quantum/tests/unit/brocade/test_brocade_vlan.py +++ b/quantum/tests/unit/brocade/test_brocade_vlan.py @@ -19,14 +19,14 @@ """ Test vlans alloc/dealloc. """ -import testtools from quantum.db import api as db from quantum.openstack.common import context from quantum.plugins.brocade import vlanbm as vlan_bitmap +from quantum.tests import base -class TestVlanBitmap(testtools.TestCase): +class TestVlanBitmap(base.BaseTestCase): """exercise Vlan bitmap .""" def setUp(self): diff --git a/quantum/tests/unit/cisco/test_nexus_plugin.py b/quantum/tests/unit/cisco/test_nexus_plugin.py index 91609a42311..f2814a362da 100644 --- a/quantum/tests/unit/cisco/test_nexus_plugin.py +++ b/quantum/tests/unit/cisco/test_nexus_plugin.py @@ -14,13 +14,13 @@ # limitations under the License. import mock -import testtools from quantum.db import api as db from quantum.openstack.common import importutils from quantum.plugins.cisco.common import cisco_constants as const from quantum.plugins.cisco.db import network_models_v2 from quantum.plugins.cisco.nexus import cisco_nexus_plugin_v2 +from quantum.tests import base NEXUS_IP_ADDRESS = '1.1.1.1' @@ -34,7 +34,7 @@ NEXUS_DRIVER = ('quantum.plugins.cisco.tests.unit.v2.nexus.' 'fake_nexus_driver.CiscoNEXUSFakeDriver') -class TestCiscoNexusPlugin(testtools.TestCase): +class TestCiscoNexusPlugin(base.BaseTestCase): def setUp(self): """ diff --git a/quantum/tests/unit/hyperv/test_hyperv_quantum_agent.py b/quantum/tests/unit/hyperv/test_hyperv_quantum_agent.py index 7ea8110af68..5b89a27d272 100644 --- a/quantum/tests/unit/hyperv/test_hyperv_quantum_agent.py +++ b/quantum/tests/unit/hyperv/test_hyperv_quantum_agent.py @@ -24,12 +24,12 @@ import sys import mock from oslo.config import cfg -import testtools from quantum.plugins.hyperv.agent import hyperv_quantum_agent +from quantum.tests import base -class TestHyperVQuantumAgent(testtools.TestCase): +class TestHyperVQuantumAgent(base.BaseTestCase): def setUp(self): super(TestHyperVQuantumAgent, self).setUp() diff --git a/quantum/tests/unit/hyperv/test_hyperv_rpcapi.py b/quantum/tests/unit/hyperv/test_hyperv_rpcapi.py index 707f4fb2073..bf94cf31c6c 100644 --- a/quantum/tests/unit/hyperv/test_hyperv_rpcapi.py +++ b/quantum/tests/unit/hyperv/test_hyperv_rpcapi.py @@ -21,7 +21,6 @@ Unit Tests for hyperv quantum rpc """ import mock -import testtools from quantum.agent import rpc as agent_rpc from quantum.common import topics @@ -29,9 +28,10 @@ from quantum.openstack.common import context from quantum.openstack.common import rpc from quantum.plugins.hyperv import agent_notifier_api as ana from quantum.plugins.hyperv.common import constants +from quantum.tests import base -class rpcHyperVApiTestCase(testtools.TestCase): +class rpcHyperVApiTestCase(base.BaseTestCase): def _test_hyperv_quantum_api( self, rpcapi, topic, method, rpc_method, **kwargs): diff --git a/quantum/tests/unit/linuxbridge/test_defaults.py b/quantum/tests/unit/linuxbridge/test_defaults.py index d67103c259b..2f06086a1d5 100644 --- a/quantum/tests/unit/linuxbridge/test_defaults.py +++ b/quantum/tests/unit/linuxbridge/test_defaults.py @@ -14,13 +14,13 @@ # limitations under the License. from oslo.config import cfg -import testtools #NOTE this import loads tests required options from quantum.plugins.linuxbridge.common import config +from quantum.tests import base -class ConfigurationTest(testtools.TestCase): +class ConfigurationTest(base.BaseTestCase): def test_defaults(self): self.assertEqual(-1, diff --git a/quantum/tests/unit/linuxbridge/test_lb_db.py b/quantum/tests/unit/linuxbridge/test_lb_db.py index e8007976f5c..ae539f05ba7 100644 --- a/quantum/tests/unit/linuxbridge/test_lb_db.py +++ b/quantum/tests/unit/linuxbridge/test_lb_db.py @@ -19,6 +19,7 @@ from testtools import matchers from quantum.common import exceptions as q_exc from quantum.db import api as db from quantum.plugins.linuxbridge.db import l2network_db_v2 as lb_db +from quantum.tests import base from quantum.tests.unit import test_db_plugin as test_plugin PHYS_NET = 'physnet1' @@ -30,7 +31,7 @@ UPDATED_VLAN_RANGES = {PHYS_NET: [(VLAN_MIN + 5, VLAN_MAX + 5)], PHYS_NET_2: [(VLAN_MIN + 20, VLAN_MAX + 20)]} -class NetworkStatesTest(testtools.TestCase): +class NetworkStatesTest(base.BaseTestCase): def setUp(self): super(NetworkStatesTest, self).setUp() lb_db.initialize() diff --git a/quantum/tests/unit/linuxbridge/test_lb_quantum_agent.py b/quantum/tests/unit/linuxbridge/test_lb_quantum_agent.py index da290022774..1ab61d6f436 100644 --- a/quantum/tests/unit/linuxbridge/test_lb_quantum_agent.py +++ b/quantum/tests/unit/linuxbridge/test_lb_quantum_agent.py @@ -22,9 +22,10 @@ import testtools from quantum.plugins.linuxbridge.agent import linuxbridge_quantum_agent from quantum.plugins.linuxbridge.common import constants as lconst +from quantum.tests import base -class TestLinuxBridge(testtools.TestCase): +class TestLinuxBridge(base.BaseTestCase): def setUp(self): super(TestLinuxBridge, self).setUp() @@ -56,7 +57,7 @@ class TestLinuxBridge(testtools.TestCase): self.assertTrue(vlan_bridge_func.called) -class TestLinuxBridgeAgent(testtools.TestCase): +class TestLinuxBridgeAgent(base.BaseTestCase): def setUp(self): super(TestLinuxBridgeAgent, self).setUp() diff --git a/quantum/tests/unit/linuxbridge/test_rpcapi.py b/quantum/tests/unit/linuxbridge/test_rpcapi.py index bf205118f85..939a5414342 100644 --- a/quantum/tests/unit/linuxbridge/test_rpcapi.py +++ b/quantum/tests/unit/linuxbridge/test_rpcapi.py @@ -19,16 +19,16 @@ Unit Tests for linuxbridge rpc """ import stubout -import testtools from quantum.agent import rpc as agent_rpc from quantum.common import topics from quantum.openstack.common import context from quantum.openstack.common import rpc from quantum.plugins.linuxbridge import lb_quantum_plugin as plb +from quantum.tests import base -class rpcApiTestCase(testtools.TestCase): +class rpcApiTestCase(base.BaseTestCase): def _test_lb_api(self, rpcapi, topic, method, rpc_method, **kwargs): ctxt = context.RequestContext('fake_user', 'fake_project') diff --git a/quantum/tests/unit/metaplugin/test_metaplugin.py b/quantum/tests/unit/metaplugin/test_metaplugin.py index f9c721fbca6..16926c742f5 100644 --- a/quantum/tests/unit/metaplugin/test_metaplugin.py +++ b/quantum/tests/unit/metaplugin/test_metaplugin.py @@ -30,6 +30,7 @@ from quantum.extensions.flavor import (FLAVOR_NETWORK, FLAVOR_ROUTER) from quantum.openstack.common import uuidutils from quantum.plugins.metaplugin.meta_quantum_plugin import FlavorNotFound from quantum.plugins.metaplugin.meta_quantum_plugin import MetaPluginV2 +from quantum.tests import base CONF_FILE = "" ROOTDIR = os.path.dirname(os.path.dirname(__file__)) @@ -67,7 +68,7 @@ def setup_metaplugin_conf(): 'quantum.openstack.common.rpc.impl_fake') -class MetaQuantumPluginV2Test(testtools.TestCase): +class MetaQuantumPluginV2Test(base.BaseTestCase): """Class conisting of MetaQuantumPluginV2 unit tests""" def setUp(self): diff --git a/quantum/tests/unit/midonet/test_midonet_lib.py b/quantum/tests/unit/midonet/test_midonet_lib.py index 6774a163650..6fdefe9e6ea 100644 --- a/quantum/tests/unit/midonet/test_midonet_lib.py +++ b/quantum/tests/unit/midonet/test_midonet_lib.py @@ -19,15 +19,15 @@ # @author: Ryu Ishimoto, Midokura Japan KK # @author: Tomoe Sugihara, Midokura Japan KK -import testtools import uuid import mock from quantum.plugins.midonet import midonet_lib +from quantum.tests import base -class MidonetLibTestCase(testtools.TestCase): +class MidonetLibTestCase(base.BaseTestCase): def setUp(self): super(MidonetLibTestCase, self).setUp() diff --git a/quantum/tests/unit/nec/test_config.py b/quantum/tests/unit/nec/test_config.py index 60699dccb88..f0347aa905f 100644 --- a/quantum/tests/unit/nec/test_config.py +++ b/quantum/tests/unit/nec/test_config.py @@ -15,12 +15,11 @@ # under the License. # @author: Ryota MIBU -import testtools - from quantum.plugins.nec.common import config +from quantum.tests import base -class ConfigurationTest(testtools.TestCase): +class ConfigurationTest(base.BaseTestCase): def test_defaults(self): self.assertEqual(-1, config.CONF.DATABASE.sql_max_retries) diff --git a/quantum/tests/unit/nec/test_db.py b/quantum/tests/unit/nec/test_db.py index 0975b403413..1d8a4390816 100644 --- a/quantum/tests/unit/nec/test_db.py +++ b/quantum/tests/unit/nec/test_db.py @@ -16,16 +16,16 @@ # @author: Ryota MIBU import random -import testtools from quantum.db import api as db_api from quantum.openstack.common import uuidutils from quantum.plugins.nec.common import exceptions as nexc from quantum.plugins.nec.db import api as ndb from quantum.plugins.nec.db import models as nmodels +from quantum.tests import base -class NECPluginV2DBTestBase(testtools.TestCase): +class NECPluginV2DBTestBase(base.BaseTestCase): """Class conisting of NECPluginV2 DB unit tests""" def setUp(self): diff --git a/quantum/tests/unit/nec/test_ofc_manager.py b/quantum/tests/unit/nec/test_ofc_manager.py index b42e1b6b76c..899be61cee7 100644 --- a/quantum/tests/unit/nec/test_ofc_manager.py +++ b/quantum/tests/unit/nec/test_ofc_manager.py @@ -15,17 +15,16 @@ # under the License. # @author: Ryota MIBU -import testtools - from quantum import context from quantum.openstack.common import uuidutils from quantum.plugins.nec.common import config from quantum.plugins.nec.db import api as ndb from quantum.plugins.nec.db import models as nmodels from quantum.plugins.nec import ofc_manager +from quantum.tests import base -class OFCManagerTestBase(testtools.TestCase): +class OFCManagerTestBase(base.BaseTestCase): """Class conisting of OFCManager unit tests""" def setUp(self): diff --git a/quantum/tests/unit/nec/test_pfc_driver.py b/quantum/tests/unit/nec/test_pfc_driver.py index 91b5d35775a..c78f89d7d3e 100644 --- a/quantum/tests/unit/nec/test_pfc_driver.py +++ b/quantum/tests/unit/nec/test_pfc_driver.py @@ -19,7 +19,6 @@ import random import string import mox -import testtools from quantum import context from quantum.openstack.common import uuidutils @@ -27,6 +26,7 @@ from quantum.plugins.nec.common import ofc_client as ofc from quantum.plugins.nec.db import api as ndb from quantum.plugins.nec.db import models as nmodels from quantum.plugins.nec import drivers +from quantum.tests import base class TestConfig(object): @@ -43,7 +43,7 @@ def _ofc(id): return "ofc-%s" % id -class PFCDriverTestBase(testtools.TestCase): +class PFCDriverTestBase(base.BaseTestCase): driver = 'quantum.plugins.nec.drivers.pfc.PFCDriverBase' @@ -192,7 +192,7 @@ class PFCV4DriverTest(PFCDriverTestBase): driver = 'pfc_v4' -class PFCDriverStringTest(testtools.TestCase): +class PFCDriverStringTest(base.BaseTestCase): driver = 'quantum.plugins.nec.drivers.pfc.PFCDriverBase' @@ -235,7 +235,7 @@ class PFCDriverStringTest(testtools.TestCase): self.assertEqual(exp_str, ret_str) -class PFCIdConvertTest(testtools.TestCase): +class PFCIdConvertTest(base.BaseTestCase): driver = 'quantum.plugins.nec.drivers.pfc.PFCDriverBase' def setUp(self): diff --git a/quantum/tests/unit/nec/test_trema_driver.py b/quantum/tests/unit/nec/test_trema_driver.py index a7852349638..dd369196be4 100644 --- a/quantum/tests/unit/nec/test_trema_driver.py +++ b/quantum/tests/unit/nec/test_trema_driver.py @@ -16,7 +16,6 @@ # @author: Ryota MIBU import mox -import testtools from quantum import context from quantum.openstack.common import uuidutils @@ -24,6 +23,7 @@ from quantum.plugins.nec.common import ofc_client from quantum.plugins.nec.db import api as ndb from quantum.plugins.nec.db import models as nmodels from quantum.plugins.nec import drivers +from quantum.tests import base class TestConfig(object): @@ -32,7 +32,7 @@ class TestConfig(object): port = 8888 -class TremaDriverTestBase(testtools.TestCase): +class TremaDriverTestBase(base.BaseTestCase): driver_name = "trema" @@ -245,7 +245,7 @@ def generate_random_ids(count=1): return [uuidutils.generate_uuid() for i in xrange(count)] -class TremaIdConvertTest(testtools.TestCase): +class TremaIdConvertTest(base.BaseTestCase): driver_name = 'trema' def setUp(self): @@ -288,7 +288,7 @@ class TremaIdConvertTest(testtools.TestCase): self.assertEqual(ret, ofc_f_id) -class TremaIdConvertTestBase(testtools.TestCase): +class TremaIdConvertTestBase(base.BaseTestCase): def setUp(self): super(TremaIdConvertTestBase, self).setUp() self.mox = mox.Mox() diff --git a/quantum/tests/unit/nicira/test_defaults.py b/quantum/tests/unit/nicira/test_defaults.py index fffb7963059..3e5580e1b73 100644 --- a/quantum/tests/unit/nicira/test_defaults.py +++ b/quantum/tests/unit/nicira/test_defaults.py @@ -13,14 +13,13 @@ # under the License. # -import testtools - from oslo.config import cfg from quantum.plugins.nicira.nicira_nvp_plugin.common import config +from quantum.tests import base -class ConfigurationTest(testtools.TestCase): +class ConfigurationTest(base.BaseTestCase): def test_defaults(self): self.assertEqual(-1, cfg.CONF.DATABASE.sql_max_retries) diff --git a/quantum/tests/unit/nicira/test_networkgw.py b/quantum/tests/unit/nicira/test_networkgw.py index 0ba10bc305b..7f7c8f78747 100644 --- a/quantum/tests/unit/nicira/test_networkgw.py +++ b/quantum/tests/unit/nicira/test_networkgw.py @@ -32,6 +32,7 @@ from quantum import manager from quantum.plugins.nicira.nicira_nvp_plugin.extensions import (nvp_networkgw as networkgw) from quantum.plugins.nicira.nicira_nvp_plugin import nicira_networkgw_db +from quantum.tests import base from quantum.tests.unit import test_api_v2 from quantum.tests.unit import test_db_plugin from quantum.tests.unit import test_extensions @@ -53,7 +54,7 @@ class TestExtensionManager(object): return [] -class NetworkGatewayExtensionTestCase(testtools.TestCase): +class NetworkGatewayExtensionTestCase(base.BaseTestCase): def setUp(self): super(NetworkGatewayExtensionTestCase, self).setUp() diff --git a/quantum/tests/unit/nicira/test_nvp_api_common.py b/quantum/tests/unit/nicira/test_nvp_api_common.py index c9b774d4a72..7ec1bd4380a 100644 --- a/quantum/tests/unit/nicira/test_nvp_api_common.py +++ b/quantum/tests/unit/nicira/test_nvp_api_common.py @@ -8,14 +8,12 @@ # System import httplib -# Third party -import testtools - # Local import quantum.plugins.nicira.nicira_nvp_plugin.api_client.common as naco +from quantum.tests import base -class NvpApiCommonTest(testtools.TestCase): +class NvpApiCommonTest(base.BaseTestCase): def test_conn_str(self): conn = httplib.HTTPSConnection('localhost', 4242, timeout=0) diff --git a/quantum/tests/unit/nicira/test_nvp_api_request.py b/quantum/tests/unit/nicira/test_nvp_api_request.py index 005449a2ca4..2343e2297d5 100644 --- a/quantum/tests/unit/nicira/test_nvp_api_request.py +++ b/quantum/tests/unit/nicira/test_nvp_api_request.py @@ -10,7 +10,7 @@ eventlet.monkey_patch() import logging import urllib2 -import testtools +from quantum.tests import base logging.basicConfig(level=logging.DEBUG) lg = logging.getLogger("test_nvp_api_request") @@ -22,6 +22,6 @@ def fetch(url): return urllib2.urlopen(url).read() -class NvpApiRequestTest(testtools.TestCase): +class NvpApiRequestTest(base.BaseTestCase): pass diff --git a/quantum/tests/unit/nicira/test_nvp_api_request_eventlet.py b/quantum/tests/unit/nicira/test_nvp_api_request_eventlet.py index 4a475c7dd6f..06ca84aee92 100644 --- a/quantum/tests/unit/nicira/test_nvp_api_request_eventlet.py +++ b/quantum/tests/unit/nicira/test_nvp_api_request_eventlet.py @@ -21,12 +21,12 @@ import eventlet from eventlet.green import urllib2 from mock import Mock from mock import patch -import testtools from quantum.plugins.nicira.nicira_nvp_plugin.api_client import ( client_eventlet as nace, request_eventlet as nare, ) +from quantum.tests import base logging.basicConfig(level=logging.DEBUG) @@ -40,7 +40,7 @@ def fetch(url): return urllib2.urlopen(url).read() -class NvpApiRequestEventletTest(testtools.TestCase): +class NvpApiRequestEventletTest(base.BaseTestCase): def setUp(self): diff --git a/quantum/tests/unit/nicira/test_nvplib.py b/quantum/tests/unit/nicira/test_nvplib.py index 0648c975c0d..3e41456a124 100644 --- a/quantum/tests/unit/nicira/test_nvplib.py +++ b/quantum/tests/unit/nicira/test_nvplib.py @@ -18,13 +18,12 @@ import mock import os -import testtools - from quantum.openstack.common import jsonutils as json import quantum.plugins.nicira.nicira_nvp_plugin as nvp_plugin from quantum.plugins.nicira.nicira_nvp_plugin import nvp_cluster from quantum.plugins.nicira.nicira_nvp_plugin import NvpApiClient from quantum.plugins.nicira.nicira_nvp_plugin import nvplib +from quantum.tests import base from quantum.tests.unit.nicira import fake_nvpapiclient from quantum.tests.unit import test_api_v2 @@ -32,7 +31,7 @@ NICIRA_PKG_PATH = nvp_plugin.__name__ _uuid = test_api_v2._uuid -class NvplibTestCase(testtools.TestCase): +class NvplibTestCase(base.BaseTestCase): def setUp(self): # mock nvp api client diff --git a/quantum/tests/unit/openvswitch/test_ovs_db.py b/quantum/tests/unit/openvswitch/test_ovs_db.py index 452e1c5abfe..85768c106ca 100644 --- a/quantum/tests/unit/openvswitch/test_ovs_db.py +++ b/quantum/tests/unit/openvswitch/test_ovs_db.py @@ -19,6 +19,7 @@ from testtools import matchers from quantum.common import exceptions as q_exc from quantum.db import api as db from quantum.plugins.openvswitch import ovs_db_v2 +from quantum.tests import base from quantum.tests.unit import test_db_plugin as test_plugin PHYS_NET = 'physnet1' @@ -34,7 +35,7 @@ TUNNEL_RANGES = [(TUN_MIN, TUN_MAX)] UPDATED_TUNNEL_RANGES = [(TUN_MIN + 5, TUN_MAX + 5)] -class VlanAllocationsTest(testtools.TestCase): +class VlanAllocationsTest(base.BaseTestCase): def setUp(self): super(VlanAllocationsTest, self).setUp() ovs_db_v2.initialize() @@ -178,7 +179,7 @@ class VlanAllocationsTest(testtools.TestCase): ovs_db_v2.sync_vlan_allocations({}) -class TunnelAllocationsTest(testtools.TestCase): +class TunnelAllocationsTest(base.BaseTestCase): def setUp(self): super(TunnelAllocationsTest, self).setUp() ovs_db_v2.initialize() diff --git a/quantum/tests/unit/openvswitch/test_ovs_defaults.py b/quantum/tests/unit/openvswitch/test_ovs_defaults.py index 898a035faaf..4eabe0fea1d 100644 --- a/quantum/tests/unit/openvswitch/test_ovs_defaults.py +++ b/quantum/tests/unit/openvswitch/test_ovs_defaults.py @@ -13,15 +13,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -import testtools - from oslo.config import cfg #NOTE this import loads tests required options from quantum.plugins.openvswitch.common import config +from quantum.tests import base -class ConfigurationTest(testtools.TestCase): +class ConfigurationTest(base.BaseTestCase): def test_defaults(self): self.assertEqual('br-int', cfg.CONF.OVS.integration_bridge) diff --git a/quantum/tests/unit/openvswitch/test_ovs_lib.py b/quantum/tests/unit/openvswitch/test_ovs_lib.py index e3fb81a6493..790c756cf18 100644 --- a/quantum/tests/unit/openvswitch/test_ovs_lib.py +++ b/quantum/tests/unit/openvswitch/test_ovs_lib.py @@ -16,13 +16,13 @@ # @author: Dan Wendlandt, Nicira, Inc. import mox -import testtools from quantum.agent.linux import ovs_lib, utils from quantum.openstack.common import uuidutils +from quantum.tests import base -class OVS_Lib_Test(testtools.TestCase): +class OVS_Lib_Test(base.BaseTestCase): """ A test suite to excercise the OVS libraries shared by Quantum agents. Note: these tests do not actually execute ovs-* utilities, and thus diff --git a/quantum/tests/unit/openvswitch/test_ovs_quantum_agent.py b/quantum/tests/unit/openvswitch/test_ovs_quantum_agent.py index 0744f9c5b51..41e9bc4a6a3 100644 --- a/quantum/tests/unit/openvswitch/test_ovs_quantum_agent.py +++ b/quantum/tests/unit/openvswitch/test_ovs_quantum_agent.py @@ -19,13 +19,14 @@ from oslo.config import cfg import testtools from quantum.plugins.openvswitch.agent import ovs_quantum_agent +from quantum.tests import base NOTIFIER = ('quantum.plugins.openvswitch.' 'ovs_quantum_plugin.AgentNotifierApi') -class CreateAgentConfigMap(testtools.TestCase): +class CreateAgentConfigMap(base.BaseTestCase): def test_create_agent_config_map_succeeds(self): self.assertTrue(ovs_quantum_agent.create_agent_config_map(cfg.CONF)) @@ -38,7 +39,7 @@ class CreateAgentConfigMap(testtools.TestCase): ovs_quantum_agent.create_agent_config_map(cfg.CONF) -class TestOvsQuantumAgent(testtools.TestCase): +class TestOvsQuantumAgent(base.BaseTestCase): def setUp(self): super(TestOvsQuantumAgent, self).setUp() diff --git a/quantum/tests/unit/openvswitch/test_ovs_rpcapi.py b/quantum/tests/unit/openvswitch/test_ovs_rpcapi.py index 32224335b9e..93207ca41b8 100644 --- a/quantum/tests/unit/openvswitch/test_ovs_rpcapi.py +++ b/quantum/tests/unit/openvswitch/test_ovs_rpcapi.py @@ -19,7 +19,6 @@ Unit Tests for openvswitch rpc """ import stubout -import testtools from quantum.agent import rpc as agent_rpc from quantum.common import topics @@ -27,9 +26,10 @@ from quantum.openstack.common import context from quantum.openstack.common import rpc from quantum.plugins.openvswitch.common import constants from quantum.plugins.openvswitch import ovs_quantum_plugin as povs +from quantum.tests import base -class rpcApiTestCase(testtools.TestCase): +class rpcApiTestCase(base.BaseTestCase): def _test_ovs_api(self, rpcapi, topic, method, rpc_method, **kwargs): ctxt = context.RequestContext('fake_user', 'fake_project') diff --git a/quantum/tests/unit/openvswitch/test_ovs_tunnel.py b/quantum/tests/unit/openvswitch/test_ovs_tunnel.py index 79460590cbf..aaf918f0554 100644 --- a/quantum/tests/unit/openvswitch/test_ovs_tunnel.py +++ b/quantum/tests/unit/openvswitch/test_ovs_tunnel.py @@ -18,7 +18,6 @@ import mox from oslo.config import cfg -import testtools from quantum.agent.linux import ip_lib from quantum.agent.linux import ovs_lib @@ -27,6 +26,7 @@ from quantum.agent import rpc from quantum.openstack.common import log from quantum.plugins.openvswitch.agent import ovs_quantum_agent from quantum.plugins.openvswitch.common import constants +from quantum.tests import base # Useful global dummy variables. @@ -59,7 +59,7 @@ class DummyVlanBinding: self.vlan_id = vlan_id -class TunnelTest(testtools.TestCase): +class TunnelTest(base.BaseTestCase): def setUp(self): super(TunnelTest, self).setUp() diff --git a/quantum/tests/unit/ryu/test_defaults.py b/quantum/tests/unit/ryu/test_defaults.py index 40fc8d679b2..91442650c36 100644 --- a/quantum/tests/unit/ryu/test_defaults.py +++ b/quantum/tests/unit/ryu/test_defaults.py @@ -16,13 +16,13 @@ # under the License. from oslo.config import cfg -import testtools #NOTE this import loads tests required options from quantum.plugins.ryu.common import config +from quantum.tests import base -class ConfigurationTest(testtools.TestCase): +class ConfigurationTest(base.BaseTestCase): """Configuration file Tests""" def test_defaults(self): self.assertEqual('br-int', cfg.CONF.OVS.integration_bridge) diff --git a/quantum/tests/unit/ryu/test_ryu_agent.py b/quantum/tests/unit/ryu/test_ryu_agent.py index 0ebd6aeacd4..223c4afe946 100644 --- a/quantum/tests/unit/ryu/test_ryu_agent.py +++ b/quantum/tests/unit/ryu/test_ryu_agent.py @@ -17,14 +17,13 @@ from contextlib import nested import httplib import mock -from oslo.config import cfg -import testtools from quantum.openstack.common import importutils +from quantum.tests import base from quantum.tests.unit.ryu import fake_ryu -class RyuAgentTestCase(testtools.TestCase): +class RyuAgentTestCase(base.BaseTestCase): _AGENT_NAME = 'quantum.plugins.ryu.agent.ryu_quantum_agent' diff --git a/quantum/tests/unit/services/agent_loadbalancer/agent/test_api.py b/quantum/tests/unit/services/agent_loadbalancer/agent/test_api.py index 2d5a2ee11f4..9b36cd4f758 100644 --- a/quantum/tests/unit/services/agent_loadbalancer/agent/test_api.py +++ b/quantum/tests/unit/services/agent_loadbalancer/agent/test_api.py @@ -17,12 +17,12 @@ # @author: Mark McClain, DreamHost import mock -import testtools from quantum.plugins.services.agent_loadbalancer.agent import api +from quantum.tests import base -class TestApiCache(testtools.TestCase): +class TestApiCache(base.BaseTestCase): def setUp(self): super(TestApiCache, self).setUp() self.addCleanup(mock.patch.stopall) diff --git a/quantum/tests/unit/services/agent_loadbalancer/agent/test_init.py b/quantum/tests/unit/services/agent_loadbalancer/agent/test_init.py index a33a36519eb..52342604c31 100644 --- a/quantum/tests/unit/services/agent_loadbalancer/agent/test_init.py +++ b/quantum/tests/unit/services/agent_loadbalancer/agent/test_init.py @@ -22,9 +22,10 @@ from oslo.config import cfg import testtools from quantum.plugins.services.agent_loadbalancer import agent +from quantum.tests import base -class TestLbaasService(testtools.TestCase): +class TestLbaasService(base.BaseTestCase): def setUp(self): super(TestLbaasService, self).setUp() self.addCleanup(cfg.CONF.reset) diff --git a/quantum/tests/unit/services/agent_loadbalancer/agent/test_manager.py b/quantum/tests/unit/services/agent_loadbalancer/agent/test_manager.py index b025809c05c..e284a3126dd 100644 --- a/quantum/tests/unit/services/agent_loadbalancer/agent/test_manager.py +++ b/quantum/tests/unit/services/agent_loadbalancer/agent/test_manager.py @@ -19,12 +19,12 @@ import contextlib import mock -import testtools from quantum.plugins.services.agent_loadbalancer.agent import manager +from quantum.tests import base -class TestLogicalDeviceCache(testtools.TestCase): +class TestLogicalDeviceCache(base.BaseTestCase): def setUp(self): super(TestLogicalDeviceCache, self).setUp() self.cache = manager.LogicalDeviceCache() @@ -131,7 +131,7 @@ class TestLogicalDeviceCache(testtools.TestCase): self.assertEqual(self.cache.get_pool_ids(), ['pool_id']) -class TestManager(testtools.TestCase): +class TestManager(base.BaseTestCase): def setUp(self): super(TestManager, self).setUp() self.addCleanup(mock.patch.stopall) diff --git a/quantum/tests/unit/services/agent_loadbalancer/driver/haproxy/test_cfg.py b/quantum/tests/unit/services/agent_loadbalancer/driver/haproxy/test_cfg.py index 4b95a23106c..f07d383cde8 100644 --- a/quantum/tests/unit/services/agent_loadbalancer/driver/haproxy/test_cfg.py +++ b/quantum/tests/unit/services/agent_loadbalancer/driver/haproxy/test_cfg.py @@ -19,14 +19,14 @@ import contextlib import mock -import testtools from oslo.config import cfg as config from quantum.plugins.services.agent_loadbalancer.drivers.haproxy import cfg +from quantum.tests import base -class TestHaproxyCfg(testtools.TestCase): +class TestHaproxyCfg(base.BaseTestCase): def test_save_config(self): with contextlib.nested( mock.patch('quantum.plugins.services.agent_loadbalancer.' diff --git a/quantum/tests/unit/services/agent_loadbalancer/driver/haproxy/test_namespace_driver.py b/quantum/tests/unit/services/agent_loadbalancer/driver/haproxy/test_namespace_driver.py index ccb4c91d24f..b7cb98042ce 100644 --- a/quantum/tests/unit/services/agent_loadbalancer/driver/haproxy/test_namespace_driver.py +++ b/quantum/tests/unit/services/agent_loadbalancer/driver/haproxy/test_namespace_driver.py @@ -18,15 +18,15 @@ import contextlib import mock -import testtools from quantum.common import exceptions from quantum.plugins.services.agent_loadbalancer.drivers.haproxy import ( namespace_driver ) +from quantum.tests import base -class TestHaproxyNSDriver(testtools.TestCase): +class TestHaproxyNSDriver(base.BaseTestCase): def setUp(self): super(TestHaproxyNSDriver, self).setUp() diff --git a/quantum/tests/unit/services/agent_loadbalancer/test_plugin.py b/quantum/tests/unit/services/agent_loadbalancer/test_plugin.py index a4289ef0cfa..f2b0f229ba7 100644 --- a/quantum/tests/unit/services/agent_loadbalancer/test_plugin.py +++ b/quantum/tests/unit/services/agent_loadbalancer/test_plugin.py @@ -18,12 +18,12 @@ # @author: Mark McClain, DreamHost import mock -import testtools from quantum import context from quantum import manager from quantum.plugins.common import constants from quantum.plugins.services.agent_loadbalancer import plugin +from quantum.tests import base from quantum.tests.unit.db.loadbalancer import test_db_loadbalancer @@ -171,7 +171,7 @@ class TestLoadBalancerCallbacks(TestLoadBalancerPluginBase): ) -class TestLoadBalancerAgentApi(testtools.TestCase): +class TestLoadBalancerAgentApi(base.BaseTestCase): def setUp(self): super(TestLoadBalancerAgentApi, self).setUp() self.addCleanup(mock.patch.stopall) diff --git a/quantum/tests/unit/test_agent_config.py b/quantum/tests/unit/test_agent_config.py index 5a01c43e151..4cb3c48bff4 100644 --- a/quantum/tests/unit/test_agent_config.py +++ b/quantum/tests/unit/test_agent_config.py @@ -15,9 +15,8 @@ # License for the specific language governing permissions and limitations # under the License. -import testtools - from quantum.agent.common import config +from quantum.tests import base def test_setup_conf(): @@ -25,7 +24,7 @@ def test_setup_conf(): assert conf.state_path.endswith('/var/lib/quantum') -class TestRootHelper(testtools.TestCase): +class TestRootHelper(base.BaseTestCase): def test_agent_root_helper(self): conf = config.setup_conf() diff --git a/quantum/tests/unit/test_agent_linux_utils.py b/quantum/tests/unit/test_agent_linux_utils.py index bd94dd6a9dc..80ada7de3f7 100644 --- a/quantum/tests/unit/test_agent_linux_utils.py +++ b/quantum/tests/unit/test_agent_linux_utils.py @@ -17,12 +17,12 @@ import fixtures import mock -import testtools from quantum.agent.linux import utils +from quantum.tests import base -class AgentUtilsExecuteTest(testtools.TestCase): +class AgentUtilsExecuteTest(base.BaseTestCase): def setUp(self): super(AgentUtilsExecuteTest, self).setUp() self.root_helper = "echo" @@ -63,7 +63,7 @@ class AgentUtilsExecuteTest(testtools.TestCase): self.assertEqual(result, "%s\n" % self.test_file) -class AgentUtilsGetInterfaceMAC(testtools.TestCase): +class AgentUtilsGetInterfaceMAC(base.BaseTestCase): def test_get_interface_mac(self): expect_val = '01:02:03:04:05:06' with mock.patch('fcntl.ioctl') as ioctl: @@ -74,7 +74,7 @@ class AgentUtilsGetInterfaceMAC(testtools.TestCase): self.assertEqual(actual_val, expect_val) -class AgentUtilsReplaceFile(testtools.TestCase): +class AgentUtilsReplaceFile(base.BaseTestCase): def test_replace_file(self): # make file to replace with mock.patch('tempfile.NamedTemporaryFile') as ntf: diff --git a/quantum/tests/unit/test_agent_netns_cleanup.py b/quantum/tests/unit/test_agent_netns_cleanup.py index 45f284837c2..243b93775af 100644 --- a/quantum/tests/unit/test_agent_netns_cleanup.py +++ b/quantum/tests/unit/test_agent_netns_cleanup.py @@ -17,18 +17,18 @@ import mock from oslo.config import cfg -import testtools from quantum.agent import netns_cleanup_util as util +from quantum.tests import base -class TestNullDelegate(testtools.TestCase): +class TestNullDelegate(base.BaseTestCase): def test_getattribute(self): null_delegate = util.NullDelegate() self.assertIsNone(null_delegate.test()) -class TestNetnsCleanup(testtools.TestCase): +class TestNetnsCleanup(base.BaseTestCase): def setUp(self): super(TestNetnsCleanup, self).setUp() self.addCleanup(cfg.CONF.reset) diff --git a/quantum/tests/unit/test_agent_ovs_cleanup.py b/quantum/tests/unit/test_agent_ovs_cleanup.py index 6ab4b0fdde2..8983a35a260 100644 --- a/quantum/tests/unit/test_agent_ovs_cleanup.py +++ b/quantum/tests/unit/test_agent_ovs_cleanup.py @@ -19,15 +19,15 @@ import contextlib import itertools import mock from oslo.config import cfg -import testtools from quantum.agent.linux import ip_lib from quantum.agent.linux import ovs_lib from quantum.agent import ovs_cleanup_util as util from quantum.openstack.common import uuidutils +from quantum.tests import base -class TestOVSCleanup(testtools.TestCase): +class TestOVSCleanup(base.BaseTestCase): def setUp(self): super(TestOVSCleanup, self).setUp() self.addCleanup(cfg.CONF.reset) diff --git a/quantum/tests/unit/test_agent_rpc.py b/quantum/tests/unit/test_agent_rpc.py index b99a202c6ff..55a9155042e 100644 --- a/quantum/tests/unit/test_agent_rpc.py +++ b/quantum/tests/unit/test_agent_rpc.py @@ -17,13 +17,13 @@ import mock from oslo.config import cfg -import testtools from quantum.agent import rpc from quantum.openstack.common import context +from quantum.tests import base -class AgentRPCPluginApi(testtools.TestCase): +class AgentRPCPluginApi(base.BaseTestCase): def _test_rpc_call(self, method): agent = rpc.PluginApi('fake_topic') ctxt = context.RequestContext('fake_user', 'fake_project') @@ -47,7 +47,7 @@ class AgentRPCPluginApi(testtools.TestCase): self._test_rpc_call('tunnel_sync') -class AgentRPCMethods(testtools.TestCase): +class AgentRPCMethods(base.BaseTestCase): def test_create_consumers(self): dispatcher = mock.Mock() expected = [ diff --git a/quantum/tests/unit/test_api_api_common.py b/quantum/tests/unit/test_api_api_common.py index a3863bc5cc4..a936361a705 100644 --- a/quantum/tests/unit/test_api_api_common.py +++ b/quantum/tests/unit/test_api_api_common.py @@ -18,18 +18,18 @@ # @author: Zhongyue Luo, Intel Corporation. # -import testtools from testtools import matchers from webob import exc from quantum.api import api_common as common +from quantum.tests import base class FakeController(common.QuantumController): _resource_name = 'fake' -class APICommonTestCase(testtools.TestCase): +class APICommonTestCase(base.BaseTestCase): def setUp(self): super(APICommonTestCase, self).setUp() self.controller = FakeController(None) diff --git a/quantum/tests/unit/test_api_v2.py b/quantum/tests/unit/test_api_v2.py index 2ed703bd126..c66495218d7 100644 --- a/quantum/tests/unit/test_api_v2.py +++ b/quantum/tests/unit/test_api_v2.py @@ -20,7 +20,6 @@ import urlparse import mock from oslo.config import cfg -import testtools from testtools import matchers import webob from webob import exc @@ -29,7 +28,7 @@ import webtest from quantum.api import api_common from quantum.api.extensions import PluginAwareExtensionManager from quantum.api.v2 import attributes -from quantum.api.v2 import base +from quantum.api.v2 import base as v2_base from quantum.api.v2 import router from quantum.common import config from quantum.common import constants @@ -38,6 +37,7 @@ from quantum import context from quantum.manager import QuantumManager from quantum.openstack.common.notifier import api as notifer_api from quantum.openstack.common import uuidutils +from quantum.tests import base from quantum.tests.unit import testlib_api from quantum import wsgi @@ -68,7 +68,7 @@ def _get_path(resource, id=None, action=None, fmt=None): return path -class ResourceIndexTestCase(testtools.TestCase): +class ResourceIndexTestCase(base.BaseTestCase): def test_index_json(self): index = webtest.TestApp(router.Index({'foo': 'bar'})) res = index.get('') @@ -93,7 +93,7 @@ class ResourceIndexTestCase(testtools.TestCase): self.assertTrue(link['rel'] == 'self') -class APIv2TestBase(testtools.TestCase): +class APIv2TestBase(base.BaseTestCase): def setUp(self): super(APIv2TestBase, self).setUp() @@ -1105,7 +1105,7 @@ class JSONV2TestCase(APIv2TestBase, testlib_api.WebTestCase): self.assertEqual(res.status_int, 400) -class SubresourceTest(testtools.TestCase): +class SubresourceTest(base.BaseTestCase): def setUp(self): super(SubresourceTest, self).setUp() @@ -1206,12 +1206,12 @@ class XMLV2TestCase(JSONV2TestCase): fmt = 'xml' -class V2Views(testtools.TestCase): +class V2Views(base.BaseTestCase): def _view(self, keys, collection, resource): data = dict((key, 'value') for key in keys) data['fake'] = 'value' attr_info = attributes.RESOURCE_ATTRIBUTE_MAP[collection] - controller = base.Controller(None, collection, resource, attr_info) + controller = v2_base.Controller(None, collection, resource, attr_info) res = controller._view(data) self.assertTrue('fake' not in res) for key in keys: @@ -1329,7 +1329,7 @@ class QuotaTest(APIv2TestBase): self.assertEqual(res.status_int, exc.HTTPCreated.code) -class ExtensionTestCase(testtools.TestCase): +class ExtensionTestCase(base.BaseTestCase): def setUp(self): super(ExtensionTestCase, self).setUp() plugin = 'quantum.quantum_plugin_base_v2.QuantumPluginBaseV2' @@ -1419,7 +1419,7 @@ class TestSubresourcePlugin(): return -class ListArgsTestCase(testtools.TestCase): +class ListArgsTestCase(base.BaseTestCase): def test_list_args(self): path = '/?fields=4&foo=3&fields=2&bar=1' request = webob.Request.blank(path) @@ -1433,7 +1433,7 @@ class ListArgsTestCase(testtools.TestCase): self.assertEqual([], api_common.list_args(request, 'fields')) -class FiltersTestCase(testtools.TestCase): +class FiltersTestCase(base.BaseTestCase): def test_all_skip_args(self): path = '/?fields=4&fields=3&fields=2&fields=1' request = webob.Request.blank(path) @@ -1481,7 +1481,7 @@ class FiltersTestCase(testtools.TestCase): self.assertEqual(actual_val, expect_val) -class CreateResourceTestCase(testtools.TestCase): +class CreateResourceTestCase(base.BaseTestCase): def test_resource_creation(self): - resource = base.create_resource('fakes', 'fake', None, {}) + resource = v2_base.create_resource('fakes', 'fake', None, {}) self.assertIsInstance(resource, webob.dec.wsgify) diff --git a/quantum/tests/unit/test_api_v2_resource.py b/quantum/tests/unit/test_api_v2_resource.py index e89b577eeff..7328c1c6d09 100644 --- a/quantum/tests/unit/test_api_v2_resource.py +++ b/quantum/tests/unit/test_api_v2_resource.py @@ -19,17 +19,17 @@ # import mock -import testtools from webob import exc import webtest from quantum.api.v2 import resource as wsgi_resource from quantum.common import exceptions as q_exc from quantum import context +from quantum.tests import base from quantum import wsgi -class RequestTestCase(testtools.TestCase): +class RequestTestCase(base.BaseTestCase): def setUp(self): super(RequestTestCase, self).setUp() self.req = wsgi_resource.Request({'foo': 'bar'}) @@ -99,7 +99,7 @@ class RequestTestCase(testtools.TestCase): self.assertTrue(self.req.context.is_admin) -class ResourceTestCase(testtools.TestCase): +class ResourceTestCase(base.BaseTestCase): def test_unmapped_quantum_error(self): controller = mock.MagicMock() controller.test.side_effect = q_exc.QuantumException() diff --git a/quantum/tests/unit/test_attributes.py b/quantum/tests/unit/test_attributes.py index 9863cbbe5cb..d91720ef32c 100644 --- a/quantum/tests/unit/test_attributes.py +++ b/quantum/tests/unit/test_attributes.py @@ -19,9 +19,10 @@ import testtools from quantum.api.v2 import attributes from quantum.common import exceptions as q_exc +from quantum.tests import base -class TestAttributes(testtools.TestCase): +class TestAttributes(base.BaseTestCase): def _construct_dict_and_constraints(self): """ Constructs a test dictionary and a definition of constraints. @@ -537,7 +538,7 @@ class TestAttributes(testtools.TestCase): self.assertIsNone(msg) -class TestConvertToBoolean(testtools.TestCase): +class TestConvertToBoolean(base.BaseTestCase): def test_convert_to_boolean_bool(self): self.assertIs(attributes.convert_to_boolean(True), True) @@ -562,7 +563,7 @@ class TestConvertToBoolean(testtools.TestCase): '7') -class TestConvertToInt(testtools.TestCase): +class TestConvertToInt(base.BaseTestCase): def test_convert_to_int_int(self): self.assertEqual(attributes.convert_to_int(-1), -1) @@ -596,7 +597,7 @@ class TestConvertToInt(testtools.TestCase): value, attributes.convert_none_to_empty_list(value)) -class TestConvertKvp(testtools.TestCase): +class TestConvertKvp(base.BaseTestCase): def test_convert_kvp_list_to_dict_succeeds_for_missing_values(self): result = attributes.convert_kvp_list_to_dict(['True']) @@ -628,7 +629,7 @@ class TestConvertKvp(testtools.TestCase): self.assertEqual(['a', 'a=a'], result) -class TestConvertToList(testtools.TestCase): +class TestConvertToList(base.BaseTestCase): def test_convert_to_empty_list(self): for item in (None, [], (), {}): diff --git a/quantum/tests/unit/test_auth.py b/quantum/tests/unit/test_auth.py index 1f0a69108df..14e6200775c 100644 --- a/quantum/tests/unit/test_auth.py +++ b/quantum/tests/unit/test_auth.py @@ -1,10 +1,27 @@ -import testtools +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2012 OpenStack LLC +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + import webob from quantum import auth +from quantum.tests import base -class QuantumKeystoneContextTestCase(testtools.TestCase): +class QuantumKeystoneContextTestCase(base.BaseTestCase): def setUp(self): super(QuantumKeystoneContextTestCase, self).setUp() diff --git a/quantum/tests/unit/test_common_utils.py b/quantum/tests/unit/test_common_utils.py index 64ab401c548..d3cfd397f54 100644 --- a/quantum/tests/unit/test_common_utils.py +++ b/quantum/tests/unit/test_common_utils.py @@ -15,9 +15,10 @@ import testtools from quantum.common import utils +from quantum.tests import base -class TestParseMappings(testtools.TestCase): +class TestParseMappings(base.BaseTestCase): def parse(self, mapping_list, unique_values=True): return utils.parse_mappings(mapping_list, unique_values) diff --git a/quantum/tests/unit/test_config.py b/quantum/tests/unit/test_config.py index 5ae77bdec6b..64f2e7c7572 100644 --- a/quantum/tests/unit/test_config.py +++ b/quantum/tests/unit/test_config.py @@ -14,14 +14,14 @@ # limitations under the License. import os -import testtools from oslo.config import cfg from quantum.common import config +from quantum.tests import base -class ConfigurationTest(testtools.TestCase): +class ConfigurationTest(base.BaseTestCase): def test_defaults(self): self.assertEqual('0.0.0.0', cfg.CONF.bind_host) diff --git a/quantum/tests/unit/test_db.py b/quantum/tests/unit/test_db.py index 0f7d9b2692e..9a9e6456ee9 100644 --- a/quantum/tests/unit/test_db.py +++ b/quantum/tests/unit/test_db.py @@ -18,12 +18,12 @@ import fixtures import mock from oslo.config import cfg -import testtools import quantum.db.api as db +from quantum.tests import base -class DBTestCase(testtools.TestCase): +class DBTestCase(base.BaseTestCase): def setUp(self): super(DBTestCase, self).setUp() cfg.CONF.set_override('sql_max_retries', 1, 'DATABASE') diff --git a/quantum/tests/unit/test_db_migration.py b/quantum/tests/unit/test_db_migration.py index c9573e06442..114f3aae6d2 100644 --- a/quantum/tests/unit/test_db_migration.py +++ b/quantum/tests/unit/test_db_migration.py @@ -20,13 +20,13 @@ import sys import mock -import testtools from quantum.db import migration from quantum.db.migration import cli +from quantum.tests import base -class TestDbMigration(testtools.TestCase): +class TestDbMigration(base.BaseTestCase): def test_should_run_plugin_in_list(self): self.assertTrue(migration.should_run('foo', ['foo', 'bar'])) self.assertFalse(migration.should_run('foo', ['bar'])) @@ -35,7 +35,7 @@ class TestDbMigration(testtools.TestCase): self.assertTrue(migration.should_run('foo', ['*'])) -class TestCli(testtools.TestCase): +class TestCli(base.BaseTestCase): def setUp(self): super(TestCli, self).setUp() self.do_alembic_cmd_p = mock.patch.object(cli, 'do_alembic_command') diff --git a/quantum/tests/unit/test_db_plugin.py b/quantum/tests/unit/test_db_plugin.py index 3707d507774..b8b61d5907f 100644 --- a/quantum/tests/unit/test_db_plugin.py +++ b/quantum/tests/unit/test_db_plugin.py @@ -43,6 +43,7 @@ from quantum.db import db_base_plugin_v2 from quantum.db import models_v2 from quantum.manager import QuantumManager from quantum.openstack.common import timeutils +from quantum.tests import base from quantum.tests.unit import test_extensions from quantum.tests.unit import testlib_api @@ -80,6 +81,7 @@ class QuantumDbPluginV2TestCase(testlib_api.WebTestCase): def setUp(self, plugin=None, service_plugins=None): super(QuantumDbPluginV2TestCase, self).setUp() + # NOTE(jkoelker) for a 'pluggable' framework, Quantum sure # doesn't like when the plugin changes ;) db._ENGINE = None @@ -3431,7 +3433,7 @@ class TestSubnetsV2(QuantumDbPluginV2TestCase): self.assertEqual(res.status_int, 204) -class DbModelTestCase(testtools.TestCase): +class DbModelTestCase(base.BaseTestCase): """ DB model tests """ def test_repr(self): """ testing the string representation of 'model' classes """ diff --git a/quantum/tests/unit/test_db_rpc_base.py b/quantum/tests/unit/test_db_rpc_base.py index 136973e37c5..7039aa33901 100644 --- a/quantum/tests/unit/test_db_rpc_base.py +++ b/quantum/tests/unit/test_db_rpc_base.py @@ -14,12 +14,12 @@ # limitations under the License. import mock -import testtools from quantum.db import dhcp_rpc_base +from quantum.tests import base -class TestDhcpRpcCallackMixin(testtools.TestCase): +class TestDhcpRpcCallackMixin(base.BaseTestCase): def setUp(self): super(TestDhcpRpcCallackMixin, self).setUp() diff --git a/quantum/tests/unit/test_debug_commands.py b/quantum/tests/unit/test_debug_commands.py index fb76e76fffe..4ece229777c 100644 --- a/quantum/tests/unit/test_debug_commands.py +++ b/quantum/tests/unit/test_debug_commands.py @@ -19,12 +19,12 @@ import socket import mock from oslo.config import cfg -import testtools from quantum.agent.common import config from quantum.agent.linux import interface from quantum.debug import commands from quantum.debug.debug_agent import DEVICE_OWNER_PROBE, QuantumDebugAgent +from quantum.tests import base class MyApp(object): @@ -32,7 +32,7 @@ class MyApp(object): self.stdout = _stdout -class TestDebugCommands(testtools.TestCase): +class TestDebugCommands(base.BaseTestCase): def setUp(self): super(TestDebugCommands, self).setUp() cfg.CONF.register_opts(interface.OPTS) diff --git a/quantum/tests/unit/test_dhcp_agent.py b/quantum/tests/unit/test_dhcp_agent.py index da7262a6eae..fdfde732757 100644 --- a/quantum/tests/unit/test_dhcp_agent.py +++ b/quantum/tests/unit/test_dhcp_agent.py @@ -14,6 +14,7 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. + import os import socket import sys @@ -32,6 +33,7 @@ from quantum.agent.linux import interface from quantum.common import constants from quantum.common import exceptions from quantum.openstack.common import jsonutils +from quantum.tests import base ROOTDIR = os.path.dirname(os.path.dirname(__file__)) @@ -108,7 +110,7 @@ fake_down_network = FakeModel('12345678-dddd-dddd-1234567890ab', ports=[]) -class TestDhcpAgent(testtools.TestCase): +class TestDhcpAgent(base.BaseTestCase): def setUp(self): super(TestDhcpAgent, self).setUp() cfg.CONF.register_opts(dhcp_agent.DeviceManager.OPTS) @@ -323,7 +325,7 @@ class TestDhcpAgent(testtools.TestCase): self.assertFalse(dhcp.needs_resync) -class TestDhcpAgentEventHandler(testtools.TestCase): +class TestDhcpAgentEventHandler(base.BaseTestCase): def setUp(self): super(TestDhcpAgentEventHandler, self).setUp() cfg.CONF.register_opts(dhcp_agent.DeviceManager.OPTS) @@ -638,7 +640,7 @@ class TestDhcpAgentEventHandler(testtools.TestCase): self.assertEqual(self.call_driver.call_count, 0) -class TestDhcpPluginApiProxy(testtools.TestCase): +class TestDhcpPluginApiProxy(base.BaseTestCase): def setUp(self): super(TestDhcpPluginApiProxy, self).setUp() self.proxy = dhcp_agent.DhcpPluginApi('foo', {}) @@ -707,7 +709,7 @@ class TestDhcpPluginApiProxy(testtools.TestCase): host='foo') -class TestNetworkCache(testtools.TestCase): +class TestNetworkCache(base.BaseTestCase): def test_put_network(self): nc = dhcp_agent.NetworkCache() nc.put(fake_network) @@ -815,7 +817,7 @@ class TestNetworkCache(testtools.TestCase): self.assertEqual(nc.get_port_by_id(fake_port1.id), fake_port1) -class TestDeviceManager(testtools.TestCase): +class TestDeviceManager(base.BaseTestCase): def setUp(self): super(TestDeviceManager, self).setUp() cfg.CONF.register_opts(dhcp_agent.DeviceManager.OPTS) @@ -1010,7 +1012,7 @@ class TestDeviceManager(testtools.TestCase): self.assertEqual(dh.get_device_id(fake_network), expected) -class TestDhcpLeaseRelay(testtools.TestCase): +class TestDhcpLeaseRelay(base.BaseTestCase): def setUp(self): super(TestDhcpLeaseRelay, self).setUp() cfg.CONF.register_opts(dhcp_agent.DhcpLeaseRelay.OPTS) @@ -1135,7 +1137,7 @@ class TestDhcpLeaseRelay(testtools.TestCase): relay._handler)]) -class TestDictModel(testtools.TestCase): +class TestDictModel(base.BaseTestCase): def test_basic_dict(self): d = dict(a=1, b=2) diff --git a/quantum/tests/unit/test_extension_extended_attribute.py b/quantum/tests/unit/test_extension_extended_attribute.py index d738326e405..831a9331239 100644 --- a/quantum/tests/unit/test_extension_extended_attribute.py +++ b/quantum/tests/unit/test_extension_extended_attribute.py @@ -20,7 +20,6 @@ Unit tests for extension extended attribute """ from oslo.config import cfg -import testtools import webob.exc as webexc import quantum @@ -29,6 +28,7 @@ from quantum.common import config from quantum import manager from quantum.plugins.common import constants from quantum.plugins.openvswitch import ovs_quantum_plugin +from quantum.tests import base from quantum.tests.unit.extensions import extendedattribute as extattr from quantum.tests.unit import test_api_v2 from quantum.tests.unit import testlib_api @@ -66,7 +66,7 @@ class ExtensionExtendedAttributeTestPlugin( return self.objh[id] -class ExtensionExtendedAttributeTestCase(testtools.TestCase): +class ExtensionExtendedAttributeTestCase(base.BaseTestCase): def setUp(self): super(ExtensionExtendedAttributeTestCase, self).setUp() plugin = ( diff --git a/quantum/tests/unit/test_extensions.py b/quantum/tests/unit/test_extensions.py index 9861da3e947..80dc099f15a 100644 --- a/quantum/tests/unit/test_extensions.py +++ b/quantum/tests/unit/test_extensions.py @@ -18,7 +18,6 @@ import os import routes -import testtools import webob import webtest @@ -28,6 +27,7 @@ from quantum.db import db_base_plugin_v2 from quantum.openstack.common import jsonutils from quantum.openstack.common import log as logging from quantum.plugins.common import constants +from quantum.tests import base from quantum.tests.unit import extension_stubs as ext_stubs import quantum.tests.unit.extensions from quantum.tests.unit import testlib_api @@ -65,7 +65,7 @@ class FakePluginWithExtension(db_base_plugin_v2.QuantumDbPluginV2): self._log("method_to_support_foxnsox_extension", context) -class ResourceExtensionTest(testtools.TestCase): +class ResourceExtensionTest(base.BaseTestCase): class ResourceExtensionController(wsgi.Controller): @@ -308,7 +308,7 @@ class ResourceExtensionTest(testtools.TestCase): self.assertEqual(404, response.status_int) -class ActionExtensionTest(testtools.TestCase): +class ActionExtensionTest(base.BaseTestCase): def setUp(self): super(ActionExtensionTest, self).setUp() @@ -355,7 +355,7 @@ class ActionExtensionTest(testtools.TestCase): self.assertEqual(404, response.status_int) -class RequestExtensionTest(testtools.TestCase): +class RequestExtensionTest(base.BaseTestCase): def test_headers_can_be_extended(self): def extend_headers(req, res): @@ -422,7 +422,7 @@ class RequestExtensionTest(testtools.TestCase): return _setup_extensions_test_app(manager) -class ExtensionManagerTest(testtools.TestCase): +class ExtensionManagerTest(base.BaseTestCase): def test_invalid_extensions_are_not_registered(self): @@ -442,7 +442,7 @@ class ExtensionManagerTest(testtools.TestCase): self.assertFalse('invalid_extension' in ext_mgr.extensions) -class PluginAwareExtensionManagerTest(testtools.TestCase): +class PluginAwareExtensionManagerTest(base.BaseTestCase): def test_unsupported_extensions_are_not_loaded(self): stub_plugin = ext_stubs.StubPlugin(supported_extensions=["e1", "e3"]) diff --git a/quantum/tests/unit/test_iptables_firewall.py b/quantum/tests/unit/test_iptables_firewall.py index 73ad85e3d4d..cbf61c5433b 100644 --- a/quantum/tests/unit/test_iptables_firewall.py +++ b/quantum/tests/unit/test_iptables_firewall.py @@ -17,10 +17,10 @@ import mock from mock import call -import testtools from quantum.agent.linux.iptables_firewall import IptablesFirewallDriver from quantum.tests.unit import test_api_v2 +from quantum.tests import base _uuid = test_api_v2._uuid FAKE_PREFIX = {'IPv4': '10.0.0.0/24', @@ -29,7 +29,7 @@ FAKE_IP = {'IPv4': '10.0.0.1', 'IPv6': 'fe80::1'} -class IptablesFirewallTestCase(testtools.TestCase): +class IptablesFirewallTestCase(base.BaseTestCase): def setUp(self): super(IptablesFirewallTestCase, self).setUp() self.utils_exec_p = mock.patch( diff --git a/quantum/tests/unit/test_iptables_manager.py b/quantum/tests/unit/test_iptables_manager.py index e8efa920f79..1ce5af0fd82 100644 --- a/quantum/tests/unit/test_iptables_manager.py +++ b/quantum/tests/unit/test_iptables_manager.py @@ -21,12 +21,12 @@ import inspect import os import mox -import testtools from quantum.agent.linux import iptables_manager +from quantum.tests import base -class IptablesManagerStateFulTestCase(testtools.TestCase): +class IptablesManagerStateFulTestCase(base.BaseTestCase): def setUp(self): super(IptablesManagerStateFulTestCase, self).setUp() @@ -294,7 +294,7 @@ class IptablesManagerStateFulTestCase(testtools.TestCase): self.mox.VerifyAll() -class IptablesManagerStateLessTestCase(testtools.TestCase): +class IptablesManagerStateLessTestCase(base.BaseTestCase): def setUp(self): super(IptablesManagerStateLessTestCase, self).setUp() diff --git a/quantum/tests/unit/test_l3_agent.py b/quantum/tests/unit/test_l3_agent.py index 576b10f61d2..80db7f4fe56 100644 --- a/quantum/tests/unit/test_l3_agent.py +++ b/quantum/tests/unit/test_l3_agent.py @@ -19,7 +19,6 @@ import copy import mock from oslo.config import cfg -import testtools from quantum.agent.common import config as agent_config from quantum.agent import l3_agent @@ -27,13 +26,14 @@ from quantum.agent.linux import interface from quantum.common import config as base_config from quantum.common import constants as l3_constants from quantum.openstack.common import uuidutils +from quantum.tests import base _uuid = uuidutils.generate_uuid HOSTNAME = 'myhost' -class TestBasicRouterOperations(testtools.TestCase): +class TestBasicRouterOperations(base.BaseTestCase): def setUp(self): super(TestBasicRouterOperations, self).setUp() diff --git a/quantum/tests/unit/test_l3_plugin.py b/quantum/tests/unit/test_l3_plugin.py index 509ba8fc58e..64463141be4 100644 --- a/quantum/tests/unit/test_l3_plugin.py +++ b/quantum/tests/unit/test_l3_plugin.py @@ -45,6 +45,7 @@ from quantum.openstack.common import log as logging from quantum.openstack.common.notifier import api as notifier_api from quantum.openstack.common.notifier import test_notifier from quantum.openstack.common import uuidutils +from quantum.tests import base from quantum.tests.unit import test_api_v2 from quantum.tests.unit import test_db_plugin from quantum.tests.unit import test_extensions diff --git a/quantum/tests/unit/test_linux_daemon.py b/quantum/tests/unit/test_linux_daemon.py index 46afea1f7de..57aeaac6c5a 100644 --- a/quantum/tests/unit/test_linux_daemon.py +++ b/quantum/tests/unit/test_linux_daemon.py @@ -22,11 +22,12 @@ import mock import testtools from quantum.agent.linux import daemon +from quantum.tests import base FAKE_FD = 8 -class TestPidfile(testtools.TestCase): +class TestPidfile(base.BaseTestCase): def setUp(self): super(TestPidfile, self).setUp() self.os_p = mock.patch.object(daemon, 'os') @@ -94,7 +95,7 @@ class TestPidfile(testtools.TestCase): ['cat', '/proc/34/cmdline'], 'sudo') -class TestDaemon(testtools.TestCase): +class TestDaemon(base.BaseTestCase): def setUp(self): super(TestDaemon, self).setUp() self.os_p = mock.patch.object(daemon, 'os') diff --git a/quantum/tests/unit/test_linux_dhcp.py b/quantum/tests/unit/test_linux_dhcp.py index ee9557cff06..a3ab7fbce72 100644 --- a/quantum/tests/unit/test_linux_dhcp.py +++ b/quantum/tests/unit/test_linux_dhcp.py @@ -20,11 +20,11 @@ import socket import mock from oslo.config import cfg -import testtools from quantum.agent.common import config from quantum.agent.linux import dhcp from quantum.openstack.common import jsonutils +from quantum.tests import base class FakeIPAllocation: @@ -134,7 +134,7 @@ class FakeV4NoGatewayNetwork: ports = [FakePort1()] -class TestDhcpBase(testtools.TestCase): +class TestDhcpBase(base.BaseTestCase): def test_base_abc_error(self): self.assertRaises(TypeError, dhcp.DhcpBase, None) @@ -179,7 +179,7 @@ class LocalChild(dhcp.DhcpLocalProcess): self.called.append('spawn') -class TestBase(testtools.TestCase): +class TestBase(base.BaseTestCase): def setUp(self): super(TestBase, self).setUp() root = os.path.dirname(os.path.dirname(__file__)) diff --git a/quantum/tests/unit/test_linux_external_process.py b/quantum/tests/unit/test_linux_external_process.py index 03dab45d27f..3a96f414d70 100644 --- a/quantum/tests/unit/test_linux_external_process.py +++ b/quantum/tests/unit/test_linux_external_process.py @@ -17,12 +17,12 @@ # @author: Mark McClain, DreamHost import mock -import testtools from quantum.agent.linux import external_process as ep +from quantum.tests import base -class TestProcessManager(testtools.TestCase): +class TestProcessManager(base.BaseTestCase): def setUp(self): super(TestProcessManager, self).setUp() self.execute_p = mock.patch('quantum.agent.linux.utils.execute') diff --git a/quantum/tests/unit/test_linux_interface.py b/quantum/tests/unit/test_linux_interface.py index 9e3ed5262bf..90d104f4e5f 100644 --- a/quantum/tests/unit/test_linux_interface.py +++ b/quantum/tests/unit/test_linux_interface.py @@ -17,7 +17,6 @@ import mock from oslo.config import cfg -import testtools from quantum.agent.common import config from quantum.agent.dhcp_agent import DeviceManager @@ -25,6 +24,7 @@ from quantum.agent.linux import interface from quantum.agent.linux import ip_lib from quantum.agent.linux import utils from quantum.extensions.flavor import (FLAVOR_NETWORK) +from quantum.tests import base class BaseChild(interface.LinuxInterfaceDriver): @@ -57,7 +57,7 @@ class FakePort: network_id = network.id -class TestBase(testtools.TestCase): +class TestBase(base.BaseTestCase): def setUp(self): super(TestBase, self).setUp() root_helper_opt = [ diff --git a/quantum/tests/unit/test_linux_ip_lib.py b/quantum/tests/unit/test_linux_ip_lib.py index cc54ff23cdc..0e8832c6991 100644 --- a/quantum/tests/unit/test_linux_ip_lib.py +++ b/quantum/tests/unit/test_linux_ip_lib.py @@ -16,10 +16,10 @@ # under the License. import mock -import testtools from quantum.agent.linux import ip_lib from quantum.common import exceptions +from quantum.tests import base NETNS_SAMPLE = [ '12345678-1234-5678-abcd-1234567890ab', @@ -97,7 +97,7 @@ SUBNET_SAMPLE2 = ("10.0.0.0/24 dev tap1d7888a7-10 scope link src 10.0.0.2\n" "10.0.0.0/24 dev qr-23380d11-d2 scope link src 10.0.0.1") -class TestSubProcessBase(testtools.TestCase): +class TestSubProcessBase(base.BaseTestCase): def setUp(self): super(TestSubProcessBase, self).setUp() self.execute_p = mock.patch('quantum.agent.linux.utils.execute') @@ -149,7 +149,7 @@ class TestSubProcessBase(testtools.TestCase): [], 'link', ('list',)) -class TestIpWrapper(testtools.TestCase): +class TestIpWrapper(base.BaseTestCase): def setUp(self): super(TestIpWrapper, self).setUp() self.execute_p = mock.patch.object(ip_lib.IPWrapper, '_execute') @@ -305,7 +305,7 @@ class TestIpWrapper(testtools.TestCase): self.assertEqual(dev.mock_calls, []) -class TestIPDevice(testtools.TestCase): +class TestIPDevice(base.BaseTestCase): def test_eq_same_name(self): dev1 = ip_lib.IPDevice('tap0') dev2 = ip_lib.IPDevice('tap0') @@ -334,7 +334,7 @@ class TestIPDevice(testtools.TestCase): self.assertEqual(str(ip_lib.IPDevice('tap0')), 'tap0') -class TestIPCommandBase(testtools.TestCase): +class TestIPCommandBase(base.BaseTestCase): def setUp(self): super(TestIPCommandBase, self).setUp() self.ip = mock.Mock() @@ -362,7 +362,7 @@ class TestIPCommandBase(testtools.TestCase): [mock.call._as_root('o', 'foo', ('link', ), False)]) -class TestIPDeviceCommandBase(testtools.TestCase): +class TestIPDeviceCommandBase(base.BaseTestCase): def setUp(self): super(TestIPDeviceCommandBase, self).setUp() self.ip_dev = mock.Mock() @@ -376,7 +376,7 @@ class TestIPDeviceCommandBase(testtools.TestCase): self.assertEqual(self.ip_cmd.name, 'eth0') -class TestIPCmdBase(testtools.TestCase): +class TestIPCmdBase(base.BaseTestCase): def setUp(self): super(TestIPCmdBase, self).setUp() self.parent = mock.Mock() @@ -654,7 +654,7 @@ class TestIpNetnsCommand(TestIPCmdBase): root_helper='sudo', check_exit_code=True) -class TestDeviceExists(testtools.TestCase): +class TestDeviceExists(base.BaseTestCase): def test_device_exists(self): with mock.patch.object(ip_lib.IPDevice, '_execute') as _execute: _execute.return_value = LINK_SAMPLE[1] diff --git a/quantum/tests/unit/test_loadbalancer_plugin.py b/quantum/tests/unit/test_loadbalancer_plugin.py index 15418d7c0ca..109043d741d 100644 --- a/quantum/tests/unit/test_loadbalancer_plugin.py +++ b/quantum/tests/unit/test_loadbalancer_plugin.py @@ -18,7 +18,6 @@ import copy import mock from oslo.config import cfg -import testtools from webob import exc import webtest @@ -29,6 +28,7 @@ from quantum.extensions import loadbalancer from quantum import manager from quantum.openstack.common import uuidutils from quantum.plugins.common import constants +from quantum.tests import base from quantum.tests.unit import test_api_v2 from quantum.tests.unit import test_extensions from quantum.tests.unit import testlib_api diff --git a/quantum/tests/unit/test_metadata_agent.py b/quantum/tests/unit/test_metadata_agent.py index e41cd3d0222..ce42edd7a4d 100644 --- a/quantum/tests/unit/test_metadata_agent.py +++ b/quantum/tests/unit/test_metadata_agent.py @@ -23,6 +23,7 @@ import testtools import webob from quantum.agent.metadata import agent +from quantum.tests import base class FakeConf(object): @@ -37,7 +38,7 @@ class FakeConf(object): metadata_proxy_shared_secret = 'secret' -class TestMetadataProxyHandler(testtools.TestCase): +class TestMetadataProxyHandler(base.BaseTestCase): def setUp(self): super(TestMetadataProxyHandler, self).setUp() self.qclient_p = mock.patch('quantumclient.v2_0.client.Client') @@ -225,7 +226,7 @@ class TestMetadataProxyHandler(testtools.TestCase): ) -class TestUnixDomainHttpProtocol(testtools.TestCase): +class TestUnixDomainHttpProtocol(base.BaseTestCase): def test_init_empty_client(self): u = agent.UnixDomainHttpProtocol(mock.Mock(), '', mock.Mock()) self.assertEqual(u.client_address, ('', 0)) @@ -235,7 +236,7 @@ class TestUnixDomainHttpProtocol(testtools.TestCase): self.assertEqual(u.client_address, 'foo') -class TestUnixDomainWSGIServer(testtools.TestCase): +class TestUnixDomainWSGIServer(base.BaseTestCase): def setUp(self): super(TestUnixDomainWSGIServer, self).setUp() self.eventlet_p = mock.patch.object(agent, 'eventlet') @@ -274,7 +275,7 @@ class TestUnixDomainWSGIServer(testtools.TestCase): self.assertTrue(len(logging.mock_calls)) -class TestUnixDomainMetadataProxy(testtools.TestCase): +class TestUnixDomainMetadataProxy(base.BaseTestCase): def setUp(self): super(TestUnixDomainMetadataProxy, self).setUp() self.cfg_p = mock.patch.object(agent, 'cfg') diff --git a/quantum/tests/unit/test_metadata_namespace_proxy.py b/quantum/tests/unit/test_metadata_namespace_proxy.py index e30dd306bbb..6de98fe92fe 100644 --- a/quantum/tests/unit/test_metadata_namespace_proxy.py +++ b/quantum/tests/unit/test_metadata_namespace_proxy.py @@ -23,6 +23,7 @@ import testtools import webob from quantum.agent.metadata import namespace_proxy as ns_proxy +from quantum.tests import base class FakeConf(object): @@ -37,7 +38,7 @@ class FakeConf(object): metadata_proxy_shared_secret = 'secret' -class TestUnixDomainHttpConnection(testtools.TestCase): +class TestUnixDomainHttpConnection(base.BaseTestCase): def test_connect(self): with mock.patch.object(ns_proxy, 'cfg') as cfg: cfg.CONF.metadata_proxy_socket = '/the/path' @@ -55,7 +56,7 @@ class TestUnixDomainHttpConnection(testtools.TestCase): self.assertEqual(conn.timeout, 3) -class TestNetworkMetadataProxyHandler(testtools.TestCase): +class TestNetworkMetadataProxyHandler(base.BaseTestCase): def setUp(self): super(TestNetworkMetadataProxyHandler, self).setUp() self.log_p = mock.patch.object(ns_proxy, 'LOG') @@ -231,7 +232,7 @@ class TestNetworkMetadataProxyHandler(testtools.TestCase): ) -class TestProxyDaemon(testtools.TestCase): +class TestProxyDaemon(base.BaseTestCase): def test_init(self): with mock.patch('quantum.agent.linux.daemon.Pidfile') as pf: pd = ns_proxy.ProxyDaemon('pidfile', 9697, 'net_id', 'router_id') diff --git a/quantum/tests/unit/test_policy.py b/quantum/tests/unit/test_policy.py index 2539d84d431..62421312fc6 100644 --- a/quantum/tests/unit/test_policy.py +++ b/quantum/tests/unit/test_policy.py @@ -23,7 +23,6 @@ import urllib2 import fixtures import mock -import testtools import quantum from quantum.common import exceptions @@ -31,9 +30,10 @@ from quantum import context from quantum.openstack.common import importutils from quantum.openstack.common import policy as common_policy from quantum import policy +from quantum.tests import base -class PolicyFileTestCase(testtools.TestCase): +class PolicyFileTestCase(base.BaseTestCase): def setUp(self): super(PolicyFileTestCase, self).setUp() policy.reset() @@ -66,7 +66,7 @@ class PolicyFileTestCase(testtools.TestCase): self.target) -class PolicyTestCase(testtools.TestCase): +class PolicyTestCase(base.BaseTestCase): def setUp(self): super(PolicyTestCase, self).setUp() policy.reset() @@ -160,7 +160,7 @@ class PolicyTestCase(testtools.TestCase): policy.enforce(admin_context, uppercase_action, self.target) -class DefaultPolicyTestCase(testtools.TestCase): +class DefaultPolicyTestCase(base.BaseTestCase): def setUp(self): super(DefaultPolicyTestCase, self).setUp() @@ -196,7 +196,7 @@ class DefaultPolicyTestCase(testtools.TestCase): self.context, "example:noexist", {}) -class QuantumPolicyTestCase(testtools.TestCase): +class QuantumPolicyTestCase(base.BaseTestCase): def setUp(self): super(QuantumPolicyTestCase, self).setUp() diff --git a/quantum/tests/unit/test_quantum_context.py b/quantum/tests/unit/test_quantum_context.py index 169ca3633dc..c2bc58564e1 100644 --- a/quantum/tests/unit/test_quantum_context.py +++ b/quantum/tests/unit/test_quantum_context.py @@ -16,12 +16,12 @@ # under the License. import mock -import testtools from quantum import context +from quantum.tests import base -class TestQuantumContext(testtools.TestCase): +class TestQuantumContext(base.BaseTestCase): def setUp(self): super(TestQuantumContext, self).setUp() diff --git a/quantum/tests/unit/test_quantum_manager.py b/quantum/tests/unit/test_quantum_manager.py index 0e987f3fdbb..f7f60bcda4e 100644 --- a/quantum/tests/unit/test_quantum_manager.py +++ b/quantum/tests/unit/test_quantum_manager.py @@ -19,7 +19,6 @@ import os import types import fixtures -import testtools from oslo.config import cfg @@ -28,6 +27,7 @@ from quantum.common.test_lib import test_config from quantum.manager import QuantumManager from quantum.openstack.common import log as logging from quantum.plugins.common import constants +from quantum.tests import base from quantum.tests.unit import dummy_plugin @@ -41,7 +41,7 @@ def etcdir(*p): return os.path.join(ETCDIR, *p) -class QuantumManagerTestCase(testtools.TestCase): +class QuantumManagerTestCase(base.BaseTestCase): def setUp(self): super(QuantumManagerTestCase, self).setUp() diff --git a/quantum/tests/unit/test_quota_per_tenant_ext.py b/quantum/tests/unit/test_quota_per_tenant_ext.py index 838a1fd930c..5b1285d6685 100644 --- a/quantum/tests/unit/test_quota_per_tenant_ext.py +++ b/quantum/tests/unit/test_quota_per_tenant_ext.py @@ -12,6 +12,7 @@ from quantum.db import api as db from quantum import manager from quantum.plugins.linuxbridge.db import l2network_db_v2 from quantum import quota +from quantum.tests import base from quantum.tests.unit import test_api_v2 from quantum.tests.unit import test_extensions from quantum.tests.unit import testlib_api diff --git a/quantum/tests/unit/test_rootwrap.py b/quantum/tests/unit/test_rootwrap.py index ec667bfb148..47de4f25f78 100644 --- a/quantum/tests/unit/test_rootwrap.py +++ b/quantum/tests/unit/test_rootwrap.py @@ -17,14 +17,14 @@ import os import mock -import testtools from quantum.common import utils from quantum.rootwrap import filters from quantum.rootwrap import wrapper +from quantum.tests import base -class RootwrapTestCase(testtools.TestCase): +class RootwrapTestCase(base.BaseTestCase): def setUp(self): super(RootwrapTestCase, self).setUp() diff --git a/quantum/tests/unit/test_routerserviceinsertion.py b/quantum/tests/unit/test_routerserviceinsertion.py index 21f016db489..d9993019508 100644 --- a/quantum/tests/unit/test_routerserviceinsertion.py +++ b/quantum/tests/unit/test_routerserviceinsertion.py @@ -34,6 +34,7 @@ from quantum.db import servicetype_db as st_db from quantum.extensions import routedserviceinsertion as rsi from quantum.extensions import routerservicetype as rst from quantum.plugins.common import constants +from quantum.tests import base from quantum.tests.unit import test_api_v2 from quantum.tests.unit import testlib_api from quantum import wsgi @@ -154,7 +155,7 @@ class RouterServiceInsertionTestPlugin( pass -class RouterServiceInsertionTestCase(testtools.TestCase): +class RouterServiceInsertionTestCase(base.BaseTestCase): def setUp(self): super(RouterServiceInsertionTestCase, self).setUp() plugin = ( diff --git a/quantum/tests/unit/test_security_groups_rpc.py b/quantum/tests/unit/test_security_groups_rpc.py index 1cb0b22abc1..f51003143cf 100644 --- a/quantum/tests/unit/test_security_groups_rpc.py +++ b/quantum/tests/unit/test_security_groups_rpc.py @@ -21,7 +21,6 @@ import mock from mock import call import mox from oslo.config import cfg -import testtools from quantum.agent import firewall as firewall_base from quantum.agent.linux import iptables_manager @@ -31,6 +30,7 @@ from quantum import context from quantum.db import securitygroups_rpc_base as sg_db_rpc from quantum.extensions import securitygroup as ext_sg from quantum.openstack.common.rpc import proxy +from quantum.tests import base from quantum.tests.unit import test_extension_security_group as test_sg from quantum.tests.unit import test_iptables_firewall as test_fw @@ -370,7 +370,7 @@ class SGServerRpcCallBackMixinTestCaseXML(SGServerRpcCallBackMixinTestCase): fmt = 'xml' -class SGAgentRpcCallBackMixinTestCase(testtools.TestCase): +class SGAgentRpcCallBackMixinTestCase(base.BaseTestCase): def setUp(self): super(SGAgentRpcCallBackMixinTestCase, self).setUp() self.rpc = sg_rpc.SecurityGroupAgentRpcCallbackMixin() @@ -394,7 +394,7 @@ class SGAgentRpcCallBackMixinTestCase(testtools.TestCase): [call.security_groups_provider_updated()]) -class SecurityGroupAgentRpcTestCase(testtools.TestCase): +class SecurityGroupAgentRpcTestCase(base.BaseTestCase): def setUp(self): super(SecurityGroupAgentRpcTestCase, self).setUp() self.agent = sg_rpc.SecurityGroupAgentRpcMixin() @@ -479,7 +479,7 @@ class FakeSGRpcApi(agent_rpc.PluginApi, pass -class SecurityGroupServerRpcApiTestCase(testtools.TestCase): +class SecurityGroupServerRpcApiTestCase(base.BaseTestCase): def setUp(self): super(SecurityGroupServerRpcApiTestCase, self).setUp() self.rpc = FakeSGRpcApi('fake_topic') @@ -502,7 +502,7 @@ class FakeSGNotifierAPI(proxy.RpcProxy, pass -class SecurityGroupAgentRpcApiTestCase(testtools.TestCase): +class SecurityGroupAgentRpcApiTestCase(base.BaseTestCase): def setUp(self): super(SecurityGroupAgentRpcApiTestCase, self).setUp() self.notifier = FakeSGNotifierAPI(topic='fake', @@ -945,7 +945,7 @@ IPTABLES_FILTER_V6_EMPTY = """:%(bn)s-(%(chains)s) - [0:0] FIREWALL_BASE_PACKAGE = 'quantum.agent.linux.iptables_firewall.' -class TestSecurityGroupAgentWithIptables(testtools.TestCase): +class TestSecurityGroupAgentWithIptables(base.BaseTestCase): FIREWALL_DRIVER = FIREWALL_BASE_PACKAGE + 'IptablesFirewallDriver' PHYSDEV_INGRESS = 'physdev-out' PHYSDEV_EGRESS = 'physdev-in' diff --git a/quantum/tests/unit/test_servicetype.py b/quantum/tests/unit/test_servicetype.py index bded462954f..c9f3aeeb983 100644 --- a/quantum/tests/unit/test_servicetype.py +++ b/quantum/tests/unit/test_servicetype.py @@ -22,7 +22,6 @@ import logging import mock from oslo.config import cfg -import testtools import webob.exc as webexc import webtest @@ -34,6 +33,7 @@ from quantum.db import servicetype_db from quantum.extensions import servicetype from quantum import manager from quantum.plugins.common import constants +from quantum.tests import base from quantum.tests.unit import dummy_plugin as dp from quantum.tests.unit import test_api_v2 from quantum.tests.unit import test_db_plugin diff --git a/quantum/tests/unit/test_wsgi.py b/quantum/tests/unit/test_wsgi.py index 0c09c1cd4df..3b1999e39bb 100644 --- a/quantum/tests/unit/test_wsgi.py +++ b/quantum/tests/unit/test_wsgi.py @@ -15,18 +15,17 @@ # License for the specific language governing permissions and limitations # under the License. -import socket - import mock -import testtools +import socket from quantum.api.v2 import attributes from quantum.common import constants from quantum.common import exceptions as exception +from quantum.tests import base from quantum import wsgi -class TestWSGIServer(testtools.TestCase): +class TestWSGIServer(base.BaseTestCase): """WSGI server tests.""" def test_start_random_port(self): @@ -82,7 +81,7 @@ class TestWSGIServer(testtools.TestCase): ]) -class SerializerTest(testtools.TestCase): +class SerializerTest(base.BaseTestCase): def test_serialize_unknown_content_type(self): """ Test serialize verifies that exception InvalidContentType is raised @@ -108,7 +107,7 @@ class SerializerTest(testtools.TestCase): serializer.get_deserialize_handler, content_type) -class RequestDeserializerTest(testtools.TestCase): +class RequestDeserializerTest(base.BaseTestCase): def test_get_body_deserializer_unknown_content_type(self): """ Test get body deserializer verifies @@ -121,7 +120,7 @@ class RequestDeserializerTest(testtools.TestCase): deserializer.get_body_deserializer, content_type) -class ResponseSerializerTest(testtools.TestCase): +class ResponseSerializerTest(base.BaseTestCase): def setUp(self): super(ResponseSerializerTest, self).setUp() @@ -164,7 +163,7 @@ class ResponseSerializerTest(testtools.TestCase): self.serializer.get_body_serializer, 'application/unknown') -class XMLDeserializerTest(testtools.TestCase): +class XMLDeserializerTest(base.BaseTestCase): def test_default_raise_Maiformed_Exception(self): """ Test verifies that exception MalformedRequestBody is raised @@ -176,7 +175,7 @@ class XMLDeserializerTest(testtools.TestCase): exception.MalformedRequestBody, deserializer.default, data_string) -class JSONDeserializerTest(testtools.TestCase): +class JSONDeserializerTest(base.BaseTestCase): def test_default_raise_Maiformed_Exception(self): """ Test verifies JsonDeserializer.default @@ -189,7 +188,7 @@ class JSONDeserializerTest(testtools.TestCase): exception.MalformedRequestBody, deserializer.default, data_string) -class ResourceTest(testtools.TestCase): +class ResourceTest(base.BaseTestCase): def test_dispatch_unknown_controller_action(self): class Controller(object): def index(self, request, pants=None): @@ -262,7 +261,7 @@ class ResourceTest(testtools.TestCase): self.assertEqual(400, result.status_int) -class XMLDictSerializerTest(testtools.TestCase): +class XMLDictSerializerTest(base.BaseTestCase): def test_xml(self): NETWORK = {'network': {'test': None, 'tenant_id': 'test-tenant', diff --git a/quantum/tests/unit/testlib_api.py b/quantum/tests/unit/testlib_api.py index 67e428c4326..3e8f35361f2 100644 --- a/quantum/tests/unit/testlib_api.py +++ b/quantum/tests/unit/testlib_api.py @@ -13,9 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. -import testtools - from quantum.api.v2 import attributes +from quantum.tests import base from quantum import wsgi @@ -35,7 +34,7 @@ def create_request(path, body, content_type, method='GET', return req -class WebTestCase(testtools.TestCase): +class WebTestCase(base.BaseTestCase): fmt = 'json' def setUp(self):