Merge "Allow owner to be set on image create"

This commit is contained in:
Jenkins 2015-11-05 17:41:43 +00:00 committed by Gerrit Code Review
commit 52623b9edd
2 changed files with 25 additions and 1 deletions

View File

@ -324,7 +324,7 @@ class RequestDeserializer(wsgi.JSONRequestDeserializer):
_reserved_properties = ('location', 'deleted', 'deleted_at')
_base_properties = ('checksum', 'created_at', 'container_format',
'disk_format', 'id', 'min_disk', 'min_ram', 'name',
'size', 'virtual_size', 'status', 'tags',
'size', 'virtual_size', 'status', 'tags', 'owner',
'updated_at', 'visibility', 'protected')
_available_sort_keys = ('name', 'status', 'container_format',
'disk_format', 'size', 'id', 'created_at',

View File

@ -711,6 +711,30 @@ class TestImagesController(base.IsolatedUnitTest):
request, image={}, extra_properties={},
tags=tags)
def test_create_with_owner_non_admin(self):
request = unit_test_utils.get_fake_request()
request.context.is_admin = False
image = {'owner': '12345'}
self.assertRaises(webob.exc.HTTPForbidden,
self.controller.create,
request, image=image, extra_properties={},
tags=[])
request = unit_test_utils.get_fake_request()
request.context.is_admin = False
image = {'owner': TENANT1}
output = self.controller.create(request, image=image,
extra_properties={}, tags=[])
self.assertEqual(TENANT1, output.owner)
def test_create_with_owner_admin(self):
request = unit_test_utils.get_fake_request()
request.context.is_admin = True
image = {'owner': '12345'}
output = self.controller.create(request, image=image,
extra_properties={}, tags=[])
self.assertEqual('12345', output.owner)
def test_create_with_duplicate_location(self):
request = unit_test_utils.get_fake_request()
location = {'url': '%s/fake_location' % BASE_URI, 'metadata': {}}