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:
parent
4f783053b6
commit
bb537a081d
|
@ -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):
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue