Files
group-based-policy/gbpservice/neutron/tests/unit/plugins/ml2plus/test_tracked_resources.py
Robert Kukura 84353cca91 Cleanup schema loading so unit tests run consistently
Ensure that all unit test modules can be run independently or in any
combination. A new all_models module is imported before Neutron's
SqlFixture loads DB schema from model files that derive from Neutron's
model_base.BASE_V2. Code that otherwise loads the schema for these
models is eliminated. Note that AIM and NFP models do not derive from
Neutron's base class, and are handled by their own fixtures.

Change-Id: I0b1c20429f75f77929a78b75c7e361bcc5e9b6b7
2017-12-08 13:45:16 -05:00

85 lines
3.3 KiB
Python

# 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 functools
import mock
from neutron.api import extensions
from neutron.tests.unit.plugins.ml2 import (
test_tracked_resources as n_tracked)
from neutron.tests.unit.plugins.ml2 import test_plugin
import gbpservice.neutron.extensions
PLUGIN_NAME = 'ml2plus'
class Ml2PlusConfFixture(test_plugin.PluginConfFixture):
def __init__(self, parent_setup=None):
super(Ml2PlusConfFixture, self).__init__(PLUGIN_NAME, parent_setup)
class Ml2PlusTestTrackedResourcesEventHandler(
n_tracked.TestTrackedResourcesEventHandler):
def setUp(self):
extensions.append_api_extensions_path(
gbpservice.neutron.extensions.__path__)
# Prevent noise from default security group operations
super(Ml2PlusTestTrackedResourcesEventHandler, self).setUp()
get_sec_group_port_patch = mock.patch(
'neutron.db.securitygroups_db.SecurityGroupDbMixin.'
'_get_security_groups_on_port')
get_sec_group_port_patch.start()
def setup_parent(self):
"""Perform parent setup with the common plugin configuration class."""
service_plugins = {'l3_plugin_name': self.l3_plugin}
service_plugins.update(self.get_additional_service_plugins())
# Ensure that the parent setup can be called without arguments
# by the common configuration setUp.
parent_setup = functools.partial(
super(test_plugin.Ml2PluginV2TestCase, self).setUp,
plugin=PLUGIN_NAME,
service_plugins=service_plugins,
)
self.useFixture(Ml2PlusConfFixture(parent_setup))
self.port_create_status = 'DOWN'
class Ml2PlusTestTrackedResources(n_tracked.TestTrackedResources):
def setUp(self):
extensions.append_api_extensions_path(
gbpservice.neutron.extensions.__path__)
# Prevent noise from default security group operations
super(Ml2PlusTestTrackedResources, self).setUp()
get_sec_group_port_patch = mock.patch(
'neutron.db.securitygroups_db.SecurityGroupDbMixin.'
'_get_security_groups_on_port')
get_sec_group_port_patch.start()
def setup_parent(self):
"""Perform parent setup with the common plugin configuration class."""
service_plugins = {'l3_plugin_name': self.l3_plugin}
service_plugins.update(self.get_additional_service_plugins())
# Ensure that the parent setup can be called without arguments
# by the common configuration setUp.
parent_setup = functools.partial(
super(test_plugin.Ml2PluginV2TestCase, self).setUp,
plugin=PLUGIN_NAME,
service_plugins=service_plugins,
)
self.useFixture(Ml2PlusConfFixture(parent_setup))
self.port_create_status = 'DOWN'