Merge "Creating or updating a image member in a list causes 500"

This commit is contained in:
Jenkins 2016-03-05 03:02:22 +00:00 committed by Gerrit Code Review
commit 919f6b11d5
2 changed files with 20 additions and 0 deletions

View File

@ -255,6 +255,10 @@ class RequestDeserializer(wsgi.JSONRequestDeserializer):
except ValueError:
msg = _("Member can't be empty")
raise webob.exc.HTTPBadRequest(explanation=msg)
except TypeError:
msg = _('Expected a member in the form: '
'{"member": "image_id"}')
raise webob.exc.HTTPBadRequest(explanation=msg)
return dict(member_id=member_id)
def update(self, request):
@ -264,6 +268,10 @@ class RequestDeserializer(wsgi.JSONRequestDeserializer):
except KeyError:
msg = _("Status not specified")
raise webob.exc.HTTPBadRequest(explanation=msg)
except TypeError:
msg = _('Expected a status in the form: '
'{"status": "status"}')
raise webob.exc.HTTPBadRequest(explanation=msg)
return dict(status=status)

View File

@ -540,6 +540,18 @@ class TestImagesDeserializer(test_utils.BaseTestCase):
self.assertRaises(webob.exc.HTTPBadRequest, self.deserializer.create,
request)
def test_create_list_return_error(self):
request = unit_test_utils.get_fake_request()
request.body = jsonutils.dump_as_bytes([TENANT1])
self.assertRaises(webob.exc.HTTPBadRequest, self.deserializer.create,
request)
def test_update_list_return_error(self):
request = unit_test_utils.get_fake_request()
request.body = jsonutils.dump_as_bytes([TENANT1])
self.assertRaises(webob.exc.HTTPBadRequest, self.deserializer.update,
request)
def test_update(self):
request = unit_test_utils.get_fake_request()
request.body = jsonutils.dump_as_bytes({'status': 'accepted'})