summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-08-09 16:29:46 +0000
committerGerrit Code Review <review@openstack.org>2012-08-09 16:29:46 +0000
commitf1c0a84be4dc1be15cb2b2c2676b9243fd24bd3d (patch)
treea5d4dad9ae2fd263a6fa032b74ad8d7d2c4e4806 /nova/tests
parent8795f662a8ae00a459d4911be2e9756ed0f3a207 (diff)
parentced45de5984f1d89c238f70337cc0da2a150383f (diff)
Merge "Adds ability to inherit wsgi extensions"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/api/openstack/compute/test_extensions.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/nova/tests/api/openstack/compute/test_extensions.py b/nova/tests/api/openstack/compute/test_extensions.py
index 32533936b..ebecb3ce6 100644
--- a/nova/tests/api/openstack/compute/test_extensions.py
+++ b/nova/tests/api/openstack/compute/test_extensions.py
@@ -109,11 +109,14 @@ class StubExtensionManager(object):
self.action_ext = action_ext
self.request_ext = request_ext
self.controller_ext = controller_ext
+ self.extra_resource_ext = None
def get_resources(self):
resource_exts = []
if self.resource_ext:
resource_exts.append(self.resource_ext)
+ if self.extra_resource_ext:
+ resource_exts.append(self.extra_resource_ext)
return resource_exts
def get_actions(self):
@@ -511,6 +514,27 @@ class ControllerExtensionTest(ExtensionTestCase):
self.assertEqual(200, response.status_int)
self.assertEqual(extension_body, response.body)
+ def test_controller_extension_late_inherited_resource(self):
+ # Need a dict for the body to convert to a ResponseObject
+ controller = StubController(dict(foo=response_body))
+ parent_ext = base_extensions.ResourceExtension('tweedles', controller)
+
+ ext_controller = StubLateExtensionController(extension_body)
+ extension = StubControllerExtension()
+ cont_ext = base_extensions.ControllerExtension(extension, 'tweedles',
+ ext_controller)
+
+ manager = StubExtensionManager(resource_ext=parent_ext,
+ controller_ext=cont_ext)
+ child_ext = base_extensions.ResourceExtension('beetles', controller,
+ inherits='tweedles')
+ manager.extra_resource_ext = child_ext
+ app = compute.APIRouter(manager)
+ request = webob.Request.blank("/fake/beetles")
+ response = request.get_response(app)
+ self.assertEqual(200, response.status_int)
+ self.assertEqual(extension_body, response.body)
+
def test_controller_action_extension_early(self):
controller = StubActionController(response_body)
actions = dict(action='POST')