diff options
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/image/test_glance.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/nova/tests/image/test_glance.py b/nova/tests/image/test_glance.py index c592b4888..aaf7a5d06 100644 --- a/nova/tests/image/test_glance.py +++ b/nova/tests/image/test_glance.py @@ -272,6 +272,24 @@ class TestGlanceImageService(test.TestCase): self.assertDictMatch(meta, expected) i = i + 1 + def test_index_private_image(self): + fixture = self._make_fixture(name='test image') + fixture['is_public'] = False + properties = {'owner_id': 'proj1'} + fixture['properties'] = properties + + image_id = self.service.create(self.context, fixture)['id'] + + proj = self.context.project_id + self.context.project_id = 'proj1' + + image_metas = self.service.index(self.context) + + self.context.project_id = proj + + expected = [{'id': 'DONTCARE', 'name': 'test image'}] + self.assertDictListMatch(image_metas, expected) + def test_detail_marker(self): fixtures = [] ids = [] @@ -380,6 +398,32 @@ class TestGlanceImageService(test.TestCase): num_images = len(self.service.index(self.context)) self.assertEquals(1, num_images) + def test_delete_not_by_owner(self): + # this test is only relevant for deprecated auth mode + self.flags(use_deprecated_auth=True) + + fixture = self._make_fixture(name='test image') + properties = {'project_id': 'proj1'} + fixture['properties'] = properties + + num_images = len(self.service.index(self.context)) + self.assertEquals(0, num_images) + + image_id = self.service.create(self.context, fixture)['id'] + num_images = len(self.service.index(self.context)) + self.assertEquals(1, num_images) + + proj_id = self.context.project_id + self.context.project_id = 'proj2' + + self.assertRaises(exception.NotAuthorized, self.service.delete, + self.context, image_id) + + self.context.project_id = proj_id + + num_images = len(self.service.index(self.context)) + self.assertEquals(1, num_images) + def test_show_passes_through_to_client(self): fixture = self._make_fixture(name='image1', is_public=True) image_id = self.service.create(self.context, fixture)['id'] |
