From e5c4db0775a1696fea79c51ae03bc9698b10a66d Mon Sep 17 00:00:00 2001 From: Stanislaw Pitucha Date: Fri, 12 Oct 2012 22:24:02 +0100 Subject: Speed up volume and routing tests Load only required extensions when testing volume api. Initialise only required routes for extensions test. Both result in minor time savings when testing. Implements bp:api-tests-speed Change-Id: I8078feda34635c91d4e57bae3bb88475fe848cb8 --- nova/tests/api/openstack/compute/test_extensions.py | 14 +++++++------- nova/tests/api/openstack/compute/test_urlmap.py | 16 ++++++++-------- .../api/openstack/volume/contrib/test_admin_actions.py | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/nova/tests/api/openstack/compute/test_extensions.py b/nova/tests/api/openstack/compute/test_extensions.py index ef2f4eec4..e07db3519 100644 --- a/nova/tests/api/openstack/compute/test_extensions.py +++ b/nova/tests/api/openstack/compute/test_extensions.py @@ -199,7 +199,7 @@ class ExtensionControllerTest(ExtensionTestCase): self.ext_list.sort() def test_list_extensions_json(self): - app = compute.APIRouter() + app = compute.APIRouter(init_only=('extensions',)) request = webob.Request.blank("/fake/extensions") response = request.get_response(app) self.assertEqual(200, response.status_int) @@ -236,7 +236,7 @@ class ExtensionControllerTest(ExtensionTestCase): self.assertEqual(output['extension']['alias'], ext['alias']) def test_get_extension_json(self): - app = compute.APIRouter() + app = compute.APIRouter(init_only=('extensions',)) request = webob.Request.blank("/fake/extensions/FOXNSOX") response = request.get_response(app) self.assertEqual(200, response.status_int) @@ -251,13 +251,13 @@ class ExtensionControllerTest(ExtensionTestCase): "links": []}) def test_get_non_existing_extension_json(self): - app = compute.APIRouter() + app = compute.APIRouter(init_only=('extensions',)) request = webob.Request.blank("/fake/extensions/4") response = request.get_response(app) self.assertEqual(404, response.status_int) def test_list_extensions_xml(self): - app = compute.APIRouter() + app = compute.APIRouter(init_only=('servers', 'flavors', 'extensions')) request = webob.Request.blank("/fake/extensions") request.accept = "application/xml" response = request.get_response(app) @@ -282,7 +282,7 @@ class ExtensionControllerTest(ExtensionTestCase): xmlutil.validate_schema(root, 'extensions') def test_get_extension_xml(self): - app = compute.APIRouter() + app = compute.APIRouter(init_only=('servers', 'flavors', 'extensions')) request = webob.Request.blank("/fake/extensions/FOXNSOX") request.accept = "application/xml" response = request.get_response(app) @@ -398,7 +398,7 @@ class ExtensionManagerTest(ExtensionTestCase): class ActionExtensionTest(ExtensionTestCase): def _send_server_action_request(self, url, body): - app = compute.APIRouter() + app = compute.APIRouter(init_only=('servers',)) request = webob.Request.blank(url) request.method = 'POST' request.content_type = 'application/json' @@ -478,7 +478,7 @@ class RequestExtensionTest(ExtensionTestCase): def test_get_resources_with_mgr(self): - app = fakes.wsgi_app() + app = fakes.wsgi_app(init_only=('flavors',)) request = webob.Request.blank("/v2/fake/flavors/1?chewing=newblue") request.environ['api.version'] = '2' response = request.get_response(app) diff --git a/nova/tests/api/openstack/compute/test_urlmap.py b/nova/tests/api/openstack/compute/test_urlmap.py index c0b20bbeb..3baa8ad4c 100644 --- a/nova/tests/api/openstack/compute/test_urlmap.py +++ b/nova/tests/api/openstack/compute/test_urlmap.py @@ -38,7 +38,7 @@ class UrlmapTest(test.TestCase): """Test URL path specifying v1.1 returns v2 content.""" req = webob.Request.blank('/v1.1/') req.accept = "application/json" - res = req.get_response(fakes.wsgi_app()) + res = req.get_response(fakes.wsgi_app(init_only=('versions',))) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = jsonutils.loads(res.body) @@ -49,7 +49,7 @@ class UrlmapTest(test.TestCase): req = webob.Request.blank('/') req.content_type = "application/json;version=1.1" req.accept = "application/json" - res = req.get_response(fakes.wsgi_app()) + res = req.get_response(fakes.wsgi_app(init_only=('versions',))) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = jsonutils.loads(res.body) @@ -59,7 +59,7 @@ class UrlmapTest(test.TestCase): """Test Accept header specifying v1.1 returns v2 content.""" req = webob.Request.blank('/') req.accept = "application/json;version=1.1" - res = req.get_response(fakes.wsgi_app()) + res = req.get_response(fakes.wsgi_app(init_only=('versions',))) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = jsonutils.loads(res.body) @@ -69,7 +69,7 @@ class UrlmapTest(test.TestCase): """Test URL path specifying v2 returns v2 content.""" req = webob.Request.blank('/v2/') req.accept = "application/json" - res = req.get_response(fakes.wsgi_app()) + res = req.get_response(fakes.wsgi_app(init_only=('versions',))) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = jsonutils.loads(res.body) @@ -80,7 +80,7 @@ class UrlmapTest(test.TestCase): req = webob.Request.blank('/') req.content_type = "application/json;version=2" req.accept = "application/json" - res = req.get_response(fakes.wsgi_app()) + res = req.get_response(fakes.wsgi_app(init_only=('versions',))) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = jsonutils.loads(res.body) @@ -90,7 +90,7 @@ class UrlmapTest(test.TestCase): """Test Accept header specifying v2 returns v2 content.""" req = webob.Request.blank('/') req.accept = "application/json;version=2" - res = req.get_response(fakes.wsgi_app()) + res = req.get_response(fakes.wsgi_app(init_only=('versions',))) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = jsonutils.loads(res.body) @@ -101,7 +101,7 @@ class UrlmapTest(test.TestCase): url = '/v2/fake/images/cedef40a-ed67-4d10-800e-17455edce175.json' req = webob.Request.blank(url) req.accept = "application/xml" - res = req.get_response(fakes.wsgi_app()) + res = req.get_response(fakes.wsgi_app(init_only=('images',))) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = jsonutils.loads(res.body) @@ -113,7 +113,7 @@ class UrlmapTest(test.TestCase): url = '/v2/fake/images/cedef40a-ed67-4d10-800e-17455edce175' req = webob.Request.blank(url) req.accept = "application/xml;q=0.8, application/json" - res = req.get_response(fakes.wsgi_app()) + res = req.get_response(fakes.wsgi_app(init_only=('images',))) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = jsonutils.loads(res.body) diff --git a/nova/tests/api/openstack/volume/contrib/test_admin_actions.py b/nova/tests/api/openstack/volume/contrib/test_admin_actions.py index fe8c85c32..4ade54779 100644 --- a/nova/tests/api/openstack/volume/contrib/test_admin_actions.py +++ b/nova/tests/api/openstack/volume/contrib/test_admin_actions.py @@ -10,7 +10,7 @@ from nova.tests.api.openstack import fakes def app(): # no auth, just let environ['nova.context'] pass through - api = fakes.volume.APIRouter() + api = fakes.volume.APIRouter(init_only=('volumes', 'snapshots')) mapper = fakes.urlmap.URLMap() mapper['/v1'] = api return mapper -- cgit