Merge "Raise 404 while deleting a deleted image"

This commit is contained in:
Jenkins 2013-04-23 18:07:06 +00:00 committed by Gerrit Code Review
commit 61981f6a4d
2 changed files with 9 additions and 3 deletions
glance
api/v1
tests/unit/v1

@ -840,11 +840,16 @@ class Controller(controller.BaseController):
request=req,
content_type="text/plain")
if image['status'] == 'deleted' or image['status'] == 'pending_delete':
if image['status'] == 'pending_delete':
msg = (_("Forbidden to delete a %s image.") % image['status'])
LOG.debug(msg)
raise HTTPForbidden(explanation=msg, request=req,
content_type="text/plain")
elif image['status'] == 'deleted':
msg = _("Image %s not found." % id)
LOG.debug(msg)
raise HTTPNotFound(explanation=msg, request=req,
content_type="text/plain")
if image['location'] and CONF.delayed_delete:
status = 'pending_delete'

@ -2532,8 +2532,9 @@ class TestGlanceAPI(base.IsolatedUnitTest):
req = webob.Request.blank("/images/%s" % UUID2)
req.method = 'DELETE'
res = req.get_response(self.api)
self.assertEquals(res.status_int, webob.exc.HTTPForbidden.code)
self.assertTrue('Forbidden to delete a deleted image' in res.body)
self.assertEquals(res.status_int, webob.exc.HTTPNotFound.code)
msg = "Image %s not found." % UUID2
self.assertTrue(msg in res.body)
# Verify the status is still deleted
req = webob.Request.blank("/images/%s" % UUID2)