aboutsummaryrefslogtreecommitdiffstats
path: root/networking_sfc/tests/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'networking_sfc/tests/base.py')
-rw-r--r--networking_sfc/tests/base.py134
1 files changed, 134 insertions, 0 deletions
diff --git a/networking_sfc/tests/base.py b/networking_sfc/tests/base.py
new file mode 100644
index 0000000..83fa3c9
--- /dev/null
+++ b/networking_sfc/tests/base.py
@@ -0,0 +1,134 @@
+# Copyright 2015 Futurewei. 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 contextlib
+import mock
+from oslo_utils import uuidutils
+
+from neutron.agent import securitygroups_rpc as sg_rpc
+from neutron.api import extensions as api_ext
+from neutron.api.rpc.agentnotifiers import dhcp_rpc_agent_api as dhcp_rpc_log
+from neutron.api.v2 import resource as api_res_log
+from neutron.common import config as cfg
+from neutron.extensions import vlantransparent as vlan_log
+from neutron import manager
+from neutron.notifiers import nova as nova_log
+from neutron.plugins.ml2 import config
+from neutron.plugins.ml2 import db as ml2_db
+from neutron.plugins.ml2.drivers import type_flat
+from neutron.plugins.ml2.drivers import type_local
+from neutron.plugins.ml2.drivers import type_tunnel
+from neutron.plugins.ml2.drivers import type_vlan
+from neutron.plugins.ml2 import managers as ml2_manager
+from neutron.plugins.ml2 import plugin as ml2_plugin
+from neutron import quota as quota_log
+from neutron.scheduler import dhcp_agent_scheduler as dhcp_agent_log
+
+from neutron.tests import base as n_base
+from neutron.tests.unit.db import test_db_base_plugin_v2 as test_db_plugin
+
+
+class BaseTestCase(n_base.BaseTestCase):
+ pass
+
+
+class NeutronDbPluginV2TestCase(test_db_plugin.NeutronDbPluginV2TestCase):
+ def setUp(self, plugin=None, service_plugins=None, ext_mgr=None):
+ self._mock_unncessary_logging()
+
+ if not plugin:
+ plugin = 'neutron.plugins.ml2.plugin.Ml2Plugin'
+ config.cfg.CONF.set_override('tenant_network_types', ['gre'],
+ group='ml2')
+ config.cfg.CONF.set_override(
+ 'tunnel_id_ranges', ['1:1000'], group='ml2_type_gre')
+ config.cfg.CONF.set_override(
+ 'mechanism_drivers', ['openvswitch'], group='ml2')
+ super(NeutronDbPluginV2TestCase, self).setUp(
+ ext_mgr=ext_mgr,
+ plugin=plugin,
+ service_plugins=service_plugins
+ )
+ self._tenant_id = uuidutils.generate_uuid()
+ self._network = self._make_network(
+ self.fmt, 'net1',
+ True)
+ self._subnet = self._make_subnet(
+ self.fmt, self._network, gateway='10.0.0.1',
+ cidr='10.0.0.0/24', ip_version=4
+ )
+
+ def _mock_unncessary_logging(self):
+ mock_log_sg_rpc_p = mock.patch.object(sg_rpc, 'LOG')
+ self.mock_log_sg_rpc = mock_log_sg_rpc_p.start()
+
+ mock_log_api_ext_p = mock.patch.object(api_ext, 'LOG')
+ self.mock_log_api_ext = mock_log_api_ext_p.start()
+
+ mock_log_dhcp_rpc_log_p = mock.patch.object(dhcp_rpc_log, 'LOG')
+ self.mock_log_dhcp_rpc_log = mock_log_dhcp_rpc_log_p.start()
+
+ mock_log_dhcp_rpc_log_p = mock.patch.object(dhcp_rpc_log, 'LOG')
+ self.mock_log_dhcp_rpc_log = mock_log_dhcp_rpc_log_p.start()
+
+ mock_log_api_res_log_p = mock.patch.object(api_res_log, 'LOG')
+ self.mock_log_api_res_log = mock_log_api_res_log_p.start()
+
+ mock_log_cfg_p = mock.patch.object(cfg, 'LOG')
+ self.mock_log_cfg = mock_log_cfg_p.start()
+
+ mock_log_vlan_log_p = mock.patch.object(vlan_log, 'LOG')
+ self.mock_log_vlan_log = mock_log_vlan_log_p.start()
+
+ mock_log_manager_p = mock.patch.object(manager, 'LOG')
+ self.mock_log_manager = mock_log_manager_p.start()
+
+ mock_log_nova_p = mock.patch.object(nova_log, 'LOG')
+ self.mock_log_nova = mock_log_nova_p.start()
+
+ mock_log_ml2_db_p = mock.patch.object(ml2_db, 'LOG')
+ self.mock_log_ml2_db = mock_log_ml2_db_p.start()
+
+ mock_log_ml2_manager_p = mock.patch.object(ml2_manager, 'LOG')
+ self.mock_log_ml2_manager = mock_log_ml2_manager_p.start()
+
+ mock_log_plugin_p = mock.patch.object(ml2_plugin, 'LOG')
+ self.mock_log_plugin = mock_log_plugin_p.start()
+
+ mock_log_type_flat_p = mock.patch.object(type_flat, 'LOG')
+ self.mock_log_type_flat = mock_log_type_flat_p.start()
+
+ mock_log_type_local_p = mock.patch.object(type_local, 'LOG')
+ self.mock_log_type_local = mock_log_type_local_p.start()
+
+ mock_log_type_tunnel_p = mock.patch.object(type_tunnel, 'LOG')
+ self.mock_log_type_tunnel = mock_log_type_tunnel_p.start()
+
+ mock_log_type_vlan_p = mock.patch.object(type_vlan, 'LOG')
+ self.mock_log_type_vlan = mock_log_type_vlan_p.start()
+
+ mock_log_quota_log_p = mock.patch.object(quota_log, 'LOG')
+ self.mock_log_quota_log = mock_log_quota_log_p.start()
+
+ mock_log_dhcp_agent_log_p = mock.patch.object(dhcp_agent_log, 'LOG')
+ self.mock_log_dhcp_agent_log = mock_log_dhcp_agent_log_p.start()
+
+ def tearDown(self):
+ super(NeutronDbPluginV2TestCase, self).tearDown()
+
+ @contextlib.contextmanager
+ def port(self, fmt=None, **kwargs):
+ net_id = self._network['network']['id']
+ port = self._make_port(fmt or self.fmt, net_id, **kwargs)
+ yield port