+++ /dev/null
-#!/usr/bin/env python
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2010 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.
-
-
-"""Unittest runner for quantum OVS plugin
-
-This file should be run from the top dir in the quantum directory
-
-To run all tests::
- PLUGIN_DIR=quantum/plugins/openvswitch ./run_tests.sh
-"""
-
-import os
-import sys
-
-from nose import config
-from nose import core
-
-sys.path.append(os.getcwd())
-sys.path.append(os.path.dirname(__file__))
-
-from quantum.common.test_lib import run_tests, test_config
-import quantum.tests.unit
-
-
-if __name__ == '__main__':
- exit_status = False
-
- # if a single test case was specified,
- # we should only invoked the tests once
- invoke_once = len(sys.argv) > 1
-
- test_config['plugin_name_v2'] = "ovs_quantum_plugin.OVSQuantumPluginV2"
-
- cwd = os.getcwd()
- c = config.Config(stream=sys.stdout,
- env=os.environ,
- verbosity=3,
- includeExe=True,
- traverseNamespace=True,
- plugins=core.DefaultPluginManager())
- c.configureWhere(quantum.tests.unit.__path__)
- exit_status = run_tests(c)
-
- if invoke_once:
- sys.exit(0)
-
- os.chdir(cwd)
-
- working_dir = os.path.abspath("quantum/plugins/openvswitch")
- c = config.Config(stream=sys.stdout,
- env=os.environ,
- verbosity=3,
- workingDir=working_dir)
- exit_status = exit_status or run_tests(c)
-
- sys.exit(exit_status)
--- /dev/null
+# 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.
def setUp(self, plugin=None):
super(QuantumDbPluginV2TestCase, self).setUp()
-
# NOTE(jkoelker) for a 'pluggable' framework, Quantum sure
# doesn't like when the plugin changes ;)
db._ENGINE = None
db._MAKER = None
# Make sure at each test a new instance of the plugin is returned
QuantumManager._instance = None
-
+ # Save the attributes map in case the plugin will alter it
+ # loading extensions
+ # Note(salvatore-orlando): shallow copy is not good enough in
+ # this case, but copy.deepcopy does not seem to work, since it
+ # causes test failures
+ self._attribute_map_bk = {}
+ for item in attributes.RESOURCE_ATTRIBUTE_MAP:
+ self._attribute_map_bk[item] = (attributes.
+ RESOURCE_ATTRIBUTE_MAP[item].
+ copy())
self._tenant_id = 'test-tenant'
json_deserializer = JSONDeserializer()
db._ENGINE = None
db._MAKER = None
cfg.CONF.reset()
+ # Restore the original attribute map
+ attributes.RESOURCE_ATTRIBUTE_MAP = self._attribute_map_bk
def _req(self, method, resource, data=None, fmt='json',
id=None, params=None, action=None):