Deepak/Vinkesh | Fixed show action in extension controller to return 404, added example to include namespace in a request extension

This commit is contained in:
vinkesh banka 2011-08-05 12:35:04 +05:30
parent 4f783053b6
commit bb537a081d
2 changed files with 12 additions and 3 deletions

View File

@ -199,7 +199,10 @@ class ExtensionController(wsgi.Controller):
def show(self, request, id):
# NOTE(dprince): the extensions alias is used as the 'id' for show
ext = self.extension_manager.extensions[id]
ext = self.extension_manager.extensions.get(id, None)
if not ext:
raise webob.exc.HTTPNotFound(
_("Extension with alias %s does not exist") % id)
return self._translate(ext)
def delete(self, request, id):

View File

@ -168,7 +168,7 @@ class RequestExtensionTest(BaseTest):
def test_extend_get_resource_response(self):
def extend_response_data(req, res):
data = json.loads(res.body)
data['extended_key'] = req.GET.get('extended_key')
data['FOXNSOX:extended_key'] = req.GET.get('extended_key')
res.body = json.dumps(data)
return res
@ -177,7 +177,8 @@ class RequestExtensionTest(BaseTest):
self.assertEqual(200, response.status_int)
response_data = json.loads(response.body)
self.assertEqual('extended_data', response_data['extended_key'])
self.assertEqual('extended_data',
response_data['FOXNSOX:extended_key'])
self.assertEqual('knox', response_data['fort'])
def test_get_resources(self):
@ -344,6 +345,11 @@ class ExtensionControllerTest(unittest.TestCase):
self.assertEqual(foxnsox_extension["namespace"],
"http://www.fox.in.socks/api/ext/pie/v1.0")
def test_show_returns_not_found_for_non_existant_extension(self):
response = self.test_app.get("/extensions/non_existant", status="*")
self.assertEqual(response.status_int, 404)
def app_factory(global_conf, **local_conf):
conf = global_conf.copy()