Merge "Allow owner to be set on image create"
This commit is contained in:
commit
52623b9edd
|
@ -324,7 +324,7 @@ class RequestDeserializer(wsgi.JSONRequestDeserializer):
|
||||||
_reserved_properties = ('location', 'deleted', 'deleted_at')
|
_reserved_properties = ('location', 'deleted', 'deleted_at')
|
||||||
_base_properties = ('checksum', 'created_at', 'container_format',
|
_base_properties = ('checksum', 'created_at', 'container_format',
|
||||||
'disk_format', 'id', 'min_disk', 'min_ram', 'name',
|
'disk_format', 'id', 'min_disk', 'min_ram', 'name',
|
||||||
'size', 'virtual_size', 'status', 'tags',
|
'size', 'virtual_size', 'status', 'tags', 'owner',
|
||||||
'updated_at', 'visibility', 'protected')
|
'updated_at', 'visibility', 'protected')
|
||||||
_available_sort_keys = ('name', 'status', 'container_format',
|
_available_sort_keys = ('name', 'status', 'container_format',
|
||||||
'disk_format', 'size', 'id', 'created_at',
|
'disk_format', 'size', 'id', 'created_at',
|
||||||
|
|
|
@ -711,6 +711,30 @@ class TestImagesController(base.IsolatedUnitTest):
|
||||||
request, image={}, extra_properties={},
|
request, image={}, extra_properties={},
|
||||||
tags=tags)
|
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):
|
def test_create_with_duplicate_location(self):
|
||||||
request = unit_test_utils.get_fake_request()
|
request = unit_test_utils.get_fake_request()
|
||||||
location = {'url': '%s/fake_location' % BASE_URI, 'metadata': {}}
|
location = {'url': '%s/fake_location' % BASE_URI, 'metadata': {}}
|
||||||
|
|
Loading…
Reference in New Issue