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):
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
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):
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()