]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Enable tox to run OVS plugin unit tests
authorSalvatore Orlando <salv.orlando@gmail.com>
Fri, 24 Aug 2012 13:38:06 +0000 (06:38 -0700)
committerSalvatore Orlando <salv.orlando@gmail.com>
Fri, 24 Aug 2012 22:34:39 +0000 (15:34 -0700)
Fix bug 1029142

Unit tests have been moved into /quantum/tests/unit

Change-Id: I5d0fa84826f62a86e4ab04c3e1958869f24a1fcf

quantum/plugins/openvswitch/run_tests.py [deleted file]
quantum/plugins/openvswitch/tests/__init__.py [deleted file]
quantum/plugins/openvswitch/tests/unit/__init__.py [deleted file]
quantum/tests/unit/openvswitch/__init__.py [new file with mode: 0644]
quantum/tests/unit/openvswitch/test_openvswitch_plugin.py [moved from quantum/tests/unit/test_openvswitch_plugin.py with 100% similarity]
quantum/tests/unit/openvswitch/test_ovs_db.py [moved from quantum/plugins/openvswitch/tests/unit/test_ovs_db.py with 100% similarity]
quantum/tests/unit/openvswitch/test_ovs_defaults.py [moved from quantum/plugins/openvswitch/tests/unit/test_defaults.py with 100% similarity]
quantum/tests/unit/openvswitch/test_ovs_lib.py [moved from quantum/tests/unit/test_ovs_lib.py with 100% similarity]
quantum/tests/unit/openvswitch/test_ovs_rpcapi.py [moved from quantum/plugins/openvswitch/tests/unit/test_rpcapi.py with 100% similarity]
quantum/tests/unit/openvswitch/test_ovs_tunnel.py [moved from quantum/plugins/openvswitch/tests/unit/test_tunnel.py with 100% similarity]
quantum/tests/unit/test_db_plugin.py

diff --git a/quantum/plugins/openvswitch/run_tests.py b/quantum/plugins/openvswitch/run_tests.py
deleted file mode 100755 (executable)
index 8496c4a..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/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)
diff --git a/quantum/plugins/openvswitch/tests/__init__.py b/quantum/plugins/openvswitch/tests/__init__.py
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/quantum/plugins/openvswitch/tests/unit/__init__.py b/quantum/plugins/openvswitch/tests/unit/__init__.py
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/quantum/tests/unit/openvswitch/__init__.py b/quantum/tests/unit/openvswitch/__init__.py
new file mode 100644 (file)
index 0000000..cbf4a45
--- /dev/null
@@ -0,0 +1,16 @@
+# 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.
index 5bdbeb4280dbdea2f1b3e8359b4cb5ca56299622..0ea79f8c76a90248ca68dd3b420350acd8db1203 100644 (file)
@@ -56,14 +56,22 @@ class QuantumDbPluginV2TestCase(unittest2.TestCase):
 
     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()
@@ -105,6 +113,8 @@ class QuantumDbPluginV2TestCase(unittest2.TestCase):
         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):