Merge "Catch InvalidImageStatusTransition error"

This commit is contained in:
Jenkins 2015-10-18 09:31:31 +00:00 committed by Gerrit Code Review
commit 0063d701fa
2 changed files with 17 additions and 0 deletions

View File

@ -250,6 +250,8 @@ class ImagesController(object):
"exc": e.msg})
LOG.warn(msg)
raise webob.exc.HTTPConflict(explanation=msg)
except exception.InvalidImageStatusTransition as e:
raise webob.exc.HTTPBadRequest(explanation=e.msg)
except exception.NotAuthenticated as e:
raise webob.exc.HTTPUnauthorized(explanation=e.msg)

View File

@ -26,6 +26,7 @@ from six.moves import range
import testtools
import webob
import glance.api.v2.image_actions
import glance.api.v2.images
from glance.common import exception
from glance import domain
@ -129,6 +130,11 @@ class TestImagesController(base.IsolatedUnitTest):
self.policy,
self.notifier,
self.store)
self.action_controller = (glance.api.v2.image_actions.
ImageActionsController(self.db,
self.policy,
self.notifier,
self.store))
self.controller.gateway.store_utils = self.store_utils
store.create_stores()
@ -2017,6 +2023,15 @@ class TestImagesController(base.IsolatedUnitTest):
self.assertRaises(webob.exc.HTTPConflict, self.controller.delete,
request, UUID1)
def test_delete_to_unallowed_status(self):
# from deactivated to pending-delete
self.config(delayed_delete=True)
request = unit_test_utils.get_fake_request(is_admin=True)
self.action_controller.deactivate(request, UUID1)
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.delete,
request, UUID1)
def test_index_with_invalid_marker(self):
fake_uuid = str(uuid.uuid4())
request = unit_test_utils.get_fake_request()