From baf05561c4a43a3c361e6e0e9f68767150165244 Mon Sep 17 00:00:00 2001 From: "Kevin L. Mitchell" Date: Fri, 16 Dec 2011 11:46:15 -0600 Subject: Pull resource extensions into APIRouter First step in refactoring extensions to do away with the extensions middleware, which is needed to get rid of the lazy serialization middleware. Converts ExtensionManager into a singleton to inhibit double-loading of extensions. Change-Id: Ia561d601df1a8c72c734c9426270268c1be13c3e --- nova/tests/api/openstack/v2/test_extensions.py | 11 ++++++----- nova/tests/integrated/test_extensions.py | 3 +++ 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'nova/tests') diff --git a/nova/tests/api/openstack/v2/test_extensions.py b/nova/tests/api/openstack/v2/test_extensions.py index 91c86bdad..650770f50 100644 --- a/nova/tests/api/openstack/v2/test_extensions.py +++ b/nova/tests/api/openstack/v2/test_extensions.py @@ -89,6 +89,7 @@ class ExtensionTestCase(test.TestCase): ext_list.append('nova.tests.api.openstack.v2.extensions.' 'foxinsocks.Foxinsocks') self.flags(osapi_extension=ext_list) + extensions.ExtensionManager.reset() class ExtensionControllerTest(ExtensionTestCase): @@ -227,7 +228,7 @@ class ResourceExtensionTest(ExtensionTestCase): def test_no_extension_present(self): manager = StubExtensionManager(None) - app = v2.APIRouter() + app = v2.APIRouter(manager) ext_midware = extensions.ExtensionMiddleware(app, manager) ser_midware = wsgi.LazySerializationMiddleware(ext_midware) request = webob.Request.blank("/blah") @@ -238,7 +239,7 @@ class ResourceExtensionTest(ExtensionTestCase): res_ext = extensions.ResourceExtension('tweedles', StubController(response_body)) manager = StubExtensionManager(res_ext) - app = v2.APIRouter() + app = v2.APIRouter(manager) ext_midware = extensions.ExtensionMiddleware(app, manager) ser_midware = wsgi.LazySerializationMiddleware(ext_midware) request = webob.Request.blank("/123/tweedles") @@ -250,7 +251,7 @@ class ResourceExtensionTest(ExtensionTestCase): res_ext = extensions.ResourceExtension('tweedles', StubController(response_body)) manager = StubExtensionManager(res_ext) - app = v2.APIRouter() + app = v2.APIRouter(manager) ext_midware = extensions.ExtensionMiddleware(app, manager) ser_midware = wsgi.LazySerializationMiddleware(ext_midware) request = webob.Request.blank("/123/tweedles") @@ -262,7 +263,7 @@ class ResourceExtensionTest(ExtensionTestCase): res_ext = extensions.ResourceExtension('tweedles', StubController(response_body)) manager = StubExtensionManager(res_ext) - app = v2.APIRouter() + app = v2.APIRouter(manager) ext_midware = extensions.ExtensionMiddleware(app, manager) ser_midware = wsgi.LazySerializationMiddleware(ext_midware) request = webob.Request.blank("/123/tweedles") @@ -283,7 +284,7 @@ class ResourceExtensionTest(ExtensionTestCase): res_ext = extensions.ResourceExtension('tweedles', StubController(response_body)) manager = StubExtensionManager(res_ext) - app = v2.APIRouter() + app = v2.APIRouter(manager) ext_midware = extensions.ExtensionMiddleware(app, manager) ser_midware = wsgi.LazySerializationMiddleware(ext_midware) request = webob.Request.blank("/123/tweedles/1") diff --git a/nova/tests/integrated/test_extensions.py b/nova/tests/integrated/test_extensions.py index 4318e30f2..b10da166a 100644 --- a/nova/tests/integrated/test_extensions.py +++ b/nova/tests/integrated/test_extensions.py @@ -17,6 +17,7 @@ import os +from nova.api.openstack.v2 import extensions from nova import flags from nova.log import logging from nova.tests.integrated import integrated_helpers @@ -28,6 +29,8 @@ LOG = logging.getLogger('nova.tests.integrated') class ExtensionsTest(integrated_helpers._IntegratedTestBase): def _get_flags(self): + extensions.ExtensionManager.reset() + f = super(ExtensionsTest, self)._get_flags() f['osapi_extension'] = FLAGS.osapi_extension[:] f['osapi_extension'].append('nova.tests.api.openstack.v2.extensions.' -- cgit