summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-06-28 02:39:18 +0000
committerGerrit Code Review <review@openstack.org>2012-06-28 02:39:18 +0000
commitd537f641c71fba1acd10a617eb804c15ac1cbd3b (patch)
treeb8ba3f7903ca7f3d0ea9ea02480f6e63f637e2cd
parent4f6142fc7b8ea65852217c19f98fd953f4d6c414 (diff)
parent2861952ef7acd0d7cff8f039ee14105f12bea717 (diff)
Merge "Remove GlanceImageService.index in favor of detail"
-rw-r--r--nova/api/openstack/compute/images.py4
-rw-r--r--nova/image/glance.py15
-rw-r--r--nova/image/s3.py6
-rw-r--r--nova/tests/api/openstack/compute/test_images.py400
-rw-r--r--nova/tests/image/fake.py9
-rw-r--r--nova/tests/image/test_fake.py18
-rw-r--r--nova/tests/image/test_glance.py122
7 files changed, 41 insertions, 533 deletions
diff --git a/nova/api/openstack/compute/images.py b/nova/api/openstack/compute/images.py
index 9879c7d25..35d21da60 100644
--- a/nova/api/openstack/compute/images.py
+++ b/nova/api/openstack/compute/images.py
@@ -177,8 +177,8 @@ class Controller(wsgi.Controller):
params[key] = val
try:
- images = self._image_service.index(context, filters=filters,
- **page_params)
+ images = self._image_service.detail(context, filters=filters,
+ **page_params)
except exception.Invalid as e:
raise webob.exc.HTTPBadRequest(explanation=str(e))
return self._view_builder.index(req, images)
diff --git a/nova/image/glance.py b/nova/image/glance.py
index 3a4099338..c01a7b957 100644
--- a/nova/image/glance.py
+++ b/nova/image/glance.py
@@ -156,21 +156,6 @@ class GlanceImageService(object):
raise exception.GlanceConnectionFailed(
reason=_('Maximum attempts reached'))
- def index(self, context, **kwargs):
- """Calls out to Glance for a list of images available."""
- params = self._extract_query_params(kwargs)
- image_metas = self._get_images(context, **params)
-
- images = []
- for image_meta in image_metas:
- # NOTE(sirp): We need to use `get_images_detailed` and not
- # `get_images` here because we need `is_public` and `properties`
- # included so we can filter by user
- if self._is_image_available(context, image_meta):
- meta_subset = utils.subset_dict(image_meta, ('id', 'name'))
- images.append(meta_subset)
- return images
-
def detail(self, context, **kwargs):
"""Calls out to Glance for a list of detailed image information."""
params = self._extract_query_params(kwargs)
diff --git a/nova/image/s3.py b/nova/image/s3.py
index 318847791..df2758b3a 100644
--- a/nova/image/s3.py
+++ b/nova/image/s3.py
@@ -136,12 +136,6 @@ class S3ImageService(object):
image = self.service.update(context, image_uuid, metadata, data)
return self._translate_uuid_to_id(context, image)
- def index(self, context):
- #NOTE(bcwaldon): sort asc to make sure we assign lower ids
- # to older images
- images = self.service.index(context, sort_dir='asc')
- return self._translate_uuids_to_ids(context, images)
-
def detail(self, context, **kwargs):
#NOTE(bcwaldon): sort asc to make sure we assign lower ids
# to older images
diff --git a/nova/tests/api/openstack/compute/test_images.py b/nova/tests/api/openstack/compute/test_images.py
index 3b100f3f7..af1dee30b 100644
--- a/nova/tests/api/openstack/compute/test_images.py
+++ b/nova/tests/api/openstack/compute/test_images.py
@@ -173,276 +173,6 @@ class ImagesControllerTest(test.TestCase):
self.assertRaises(webob.exc.HTTPNotFound,
self.controller.show, fake_req, 'unknown')
- def test_get_image_index(self):
- fake_req = fakes.HTTPRequest.blank('/v2/fake/images')
- response_list = self.controller.index(fake_req)['images']
-
- expected_images = [
- {
- "id": "123",
- "name": "public image",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/123",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/123",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": "%s/fake/images/123" %
- utils.generate_glance_url()
- },
- ],
- },
- {
- "id": "124",
- "name": "queued snapshot",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/124",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/124",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": "%s/fake/images/124" %
- utils.generate_glance_url()
- },
- ],
- },
- {
- "id": "125",
- "name": "saving snapshot",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/125",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/125",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": "%s/fake/images/125" %
- utils.generate_glance_url()
- },
- ],
- },
- {
- "id": "126",
- "name": "active snapshot",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/126",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/126",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": "%s/fake/images/126" %
- utils.generate_glance_url()
- },
- ],
- },
- {
- "id": "127",
- "name": "killed snapshot",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/127",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/127",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": "%s/fake/images/127" %
- utils.generate_glance_url()
- },
- ],
- },
- {
- "id": "128",
- "name": "deleted snapshot",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/128",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/128",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": "%s/fake/images/128" %
- utils.generate_glance_url()
- },
- ],
- },
- {
- "id": "129",
- "name": "pending_delete snapshot",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/129",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/129",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": "%s/fake/images/129" %
- utils.generate_glance_url()
- },
- ],
- },
- {
- "id": "130",
- "name": None,
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/130",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/130",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": "%s/fake/images/130" %
- utils.generate_glance_url()
- },
- ],
- },
- ]
-
- self.assertDictListMatch(response_list, expected_images)
-
- def test_get_image_index_with_limit(self):
- request = fakes.HTTPRequest.blank('/v2/fake/images?limit=3')
- response = self.controller.index(request)
- response_list = response["images"]
- response_links = response["images_links"]
-
- alternate = "%s/fake/images/%s"
-
- expected_images = [
- {
- "id": "123",
- "name": "public image",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/123",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/123",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": alternate % (utils.generate_glance_url(), 123),
- },
- ],
- },
- {
- "id": "124",
- "name": "queued snapshot",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/124",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/124",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": alternate % (utils.generate_glance_url(), 124),
- },
- ],
- },
- {
- "id": "125",
- "name": "saving snapshot",
- "links": [
- {
- "rel": "self",
- "href": "http://localhost/v2/fake/images/125",
- },
- {
- "rel": "bookmark",
- "href": "http://localhost/fake/images/125",
- },
- {
- "rel": "alternate",
- "type": "application/vnd.openstack.image",
- "href": alternate % (utils.generate_glance_url(), 125),
- },
- ],
- },
- ]
-
- self.assertDictListMatch(response_list, expected_images)
- self.assertEqual(response_links[0]['rel'], 'next')
-
- href_parts = urlparse.urlparse(response_links[0]['href'])
- self.assertEqual('/v2/fake/images', href_parts.path)
- params = urlparse.parse_qs(href_parts.query)
- self.assertDictMatch({'limit': ['3'], 'marker': ['125']}, params)
-
- def test_get_image_index_with_limit_and_extra_params(self):
- request = fakes.HTTPRequest.blank('/v2/fake/images?limit=3&extra=bo')
- response = self.controller.index(request)
- response_links = response["images_links"]
-
- self.assertEqual(response_links[0]['rel'], 'next')
-
- href_parts = urlparse.urlparse(response_links[0]['href'])
- self.assertEqual('/v2/fake/images', href_parts.path)
- params = urlparse.parse_qs(href_parts.query)
- self.assertDictMatch(
- {'limit': ['3'], 'marker': ['125'], 'extra': ['bo']},
- params)
-
- def test_get_image_index_with_big_limit(self):
- """
- Make sure we don't get images_links if limit is set
- and the number of images returned is < limit
- """
- request = fakes.HTTPRequest.blank('/v2/fake/images?limit=30')
- response = self.controller.index(request)
-
- self.assertEqual(response.keys(), ['images'])
- self.assertEqual(len(response['images']), 8)
-
def test_get_image_details(self):
request = fakes.HTTPRequest.blank('/v2/fake/images/detail')
response = self.controller.detail(request)
@@ -815,120 +545,6 @@ class ImagesControllerTest(test.TestCase):
self.assertDictMatch({'limit': ['2'], 'marker': ['124']}, params)
- def test_image_filter_with_name(self):
- image_service = self.mox.CreateMockAnything()
- filters = {'name': 'testname'}
- request = fakes.HTTPRequest.blank('/v2/images?name=testname')
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_filter_with_min_ram(self):
- image_service = self.mox.CreateMockAnything()
- filters = {'min_ram': '0'}
- request = fakes.HTTPRequest.blank('/v2/images?minRam=0')
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_filter_with_min_disk(self):
- image_service = self.mox.CreateMockAnything()
- filters = {'min_disk': '7'}
- request = fakes.HTTPRequest.blank('/v2/images?minDisk=7')
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_filter_with_status(self):
- image_service = self.mox.CreateMockAnything()
- filters = {'status': 'active'}
- request = fakes.HTTPRequest.blank('/v2/images?status=ACTIVE')
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_filter_with_property(self):
- image_service = self.mox.CreateMockAnything()
- filters = {'property-test': '3'}
- request = fakes.HTTPRequest.blank('/v2/images?property-test=3')
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_filter_server(self):
- image_service = self.mox.CreateMockAnything()
- uuid = 'fa95aaf5-ab3b-4cd8-88c0-2be7dd051aaf'
- ref = 'http://localhost:8774/servers/' + uuid
- filters = {'property-instance_uuid': uuid}
- request = fakes.HTTPRequest.blank('/v2/images?server=' + ref)
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_filter_changes_since(self):
- image_service = self.mox.CreateMockAnything()
- filters = {'changes-since': '2011-01-24T17:08Z'}
- request = fakes.HTTPRequest.blank('/v2/images?changes-since='
- '2011-01-24T17:08Z')
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_filter_with_type(self):
- image_service = self.mox.CreateMockAnything()
- filters = {'property-image_type': 'BASE'}
- request = fakes.HTTPRequest.blank('/v2/images?type=BASE')
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_filter_not_supported(self):
- image_service = self.mox.CreateMockAnything()
- filters = {'status': 'active'}
- request = fakes.HTTPRequest.blank('/v2/images?status=ACTIVE&'
- 'UNSUPPORTEDFILTER=testname')
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_no_filters(self):
- image_service = self.mox.CreateMockAnything()
- filters = {}
- request = fakes.HTTPRequest.blank('/v2/images')
- context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
- self.mox.ReplayAll()
- controller = images.Controller(image_service=image_service)
- controller.index(request)
-
- def test_image_invalid_marker(self):
- class InvalidImageService(object):
-
- def index(self, *args, **kwargs):
- raise exception.Invalid('meow')
-
- request = fakes.HTTPRequest.blank('/v2/images?marker=invalid')
- controller = images.Controller(image_service=InvalidImageService())
- self.assertRaises(webob.exc.HTTPBadRequest, controller.index, request)
-
def test_image_detail_filter_with_name(self):
image_service = self.mox.CreateMockAnything()
filters = {'name': 'testname'}
@@ -970,10 +586,10 @@ class ImagesControllerTest(test.TestCase):
filters = {'property-instance_uuid': uuid}
request = fakes.HTTPRequest.blank(url)
context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
+ image_service.detail(context, filters=filters).AndReturn([])
self.mox.ReplayAll()
controller = images.Controller(image_service=image_service)
- controller.index(request)
+ controller.detail(request)
def test_image_detail_filter_server_uuid(self):
image_service = self.mox.CreateMockAnything()
@@ -982,10 +598,10 @@ class ImagesControllerTest(test.TestCase):
filters = {'property-instance_uuid': uuid}
request = fakes.HTTPRequest.blank(url)
context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
+ image_service.detail(context, filters=filters).AndReturn([])
self.mox.ReplayAll()
controller = images.Controller(image_service=image_service)
- controller.index(request)
+ controller.detail(request)
def test_image_detail_filter_changes_since(self):
image_service = self.mox.CreateMockAnything()
@@ -993,20 +609,20 @@ class ImagesControllerTest(test.TestCase):
request = fakes.HTTPRequest.blank('/v2/fake/images/detail'
'?changes-since=2011-01-24T17:08Z')
context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
+ image_service.detail(context, filters=filters).AndReturn([])
self.mox.ReplayAll()
controller = images.Controller(image_service=image_service)
- controller.index(request)
+ controller.detail(request)
def test_image_detail_filter_with_type(self):
image_service = self.mox.CreateMockAnything()
filters = {'property-image_type': 'BASE'}
request = fakes.HTTPRequest.blank('/v2/fake/images/detail?type=BASE')
context = request.environ['nova.context']
- image_service.index(context, filters=filters).AndReturn([])
+ image_service.detail(context, filters=filters).AndReturn([])
self.mox.ReplayAll()
controller = images.Controller(image_service=image_service)
- controller.index(request)
+ controller.detail(request)
def test_image_detail_filter_not_supported(self):
image_service = self.mox.CreateMockAnything()
diff --git a/nova/tests/image/fake.py b/nova/tests/image/fake.py
index 4a3e0b931..ffb2e050b 100644
--- a/nova/tests/image/fake.py
+++ b/nova/tests/image/fake.py
@@ -151,15 +151,6 @@ class _FakeImageService(object):
super(_FakeImageService, self).__init__()
#TODO(bcwaldon): implement optional kwargs such as limit, sort_dir
- def index(self, context, **kwargs):
- """Returns list of images."""
- retval = []
- for img in self.images.values():
- retval += [dict([(k, v) for k, v in img.iteritems()
- if k in ['id', 'name']])]
- return retval
-
- #TODO(bcwaldon): implement optional kwargs such as limit, sort_dir
def detail(self, context, **kwargs):
"""Return list of detailed image information."""
return copy.deepcopy(self.images.values())
diff --git a/nova/tests/image/test_fake.py b/nova/tests/image/test_fake.py
index e1925557e..1361b984c 100644
--- a/nova/tests/image/test_fake.py
+++ b/nova/tests/image/test_fake.py
@@ -34,11 +34,6 @@ class FakeImageServiceTestCase(test.TestCase):
super(FakeImageServiceTestCase, self).setUp()
nova.tests.image.fake.FakeImageService_reset()
- def test_index(self):
- res = self.image_service.index(self.context)
- for image in res:
- self.assertEquals(set(image.keys()), set(['id', 'name']))
-
def test_detail(self):
res = self.image_service.detail(self.context)
for image in res:
@@ -64,13 +59,6 @@ class FakeImageServiceTestCase(test.TestCase):
check_is_bool(image, 'deleted')
check_is_bool(image, 'is_public')
- def test_index_and_detail_have_same_results(self):
- index = self.image_service.index(self.context)
- detail = self.image_service.detail(self.context)
- index_set = set([(i['id'], i['name']) for i in index])
- detail_set = set([(i['id'], i['name']) for i in detail])
- self.assertEqual(index_set, detail_set)
-
def test_show_raises_imagenotfound_for_invalid_id(self):
self.assertRaises(exception.ImageNotFound,
self.image_service.show,
@@ -78,12 +66,12 @@ class FakeImageServiceTestCase(test.TestCase):
'this image does not exist')
def test_create_adds_id(self):
- index = self.image_service.index(self.context)
+ index = self.image_service.detail(self.context)
image_count = len(index)
self.image_service.create(self.context, {})
- index = self.image_service.index(self.context)
+ index = self.image_service.detail(self.context)
self.assertEquals(len(index), image_count + 1)
self.assertTrue(index[0]['id'])
@@ -125,7 +113,7 @@ class FakeImageServiceTestCase(test.TestCase):
self.image_service.create(self.context, {'id': '33', 'foo': 'bar'})
self.image_service.create(self.context, {'id': '34', 'foo': 'bar'})
self.image_service.delete_all()
- index = self.image_service.index(self.context)
+ index = self.image_service.detail(self.context)
self.assertEquals(len(index), 0)
def test_create_then_get(self):
diff --git a/nova/tests/image/test_glance.py b/nova/tests/image/test_glance.py
index 29c867667..f8d2c2d9d 100644
--- a/nova/tests/image/test_glance.py
+++ b/nova/tests/image/test_glance.py
@@ -173,12 +173,12 @@ class TestGlanceImageService(test.TestCase):
def test_create(self):
fixture = self._make_fixture(name='test image')
- num_images = len(self.service.index(self.context))
+ num_images = len(self.service.detail(self.context))
image_id = self.service.create(self.context, fixture)['id']
self.assertNotEquals(None, image_id)
self.assertEquals(num_images + 1,
- len(self.service.index(self.context)))
+ len(self.service.detail(self.context)))
def test_create_and_show_non_existing_image(self):
fixture = self._make_fixture(name='test image')
@@ -190,102 +190,24 @@ class TestGlanceImageService(test.TestCase):
self.context,
'bad image id')
- def test_index(self):
- fixture = self._make_fixture(name='test image')
- image_id = self.service.create(self.context, fixture)['id']
- image_metas = self.service.index(self.context)
- expected = [{'id': image_id, 'name': 'test image'}]
- self.assertDictListMatch(image_metas, expected)
-
- def test_index_default_limit(self):
- fixtures = []
- ids = []
- for i in range(10):
- fixture = self._make_fixture(name='TestImage %d' % (i))
- fixtures.append(fixture)
- ids.append(self.service.create(self.context, fixture)['id'])
-
- image_metas = self.service.index(self.context)
- i = 0
- for meta in image_metas:
- expected = {'id': 'DONTCARE',
- 'name': 'TestImage %d' % (i)}
- self.assertDictMatch(meta, expected)
- i = i + 1
-
- def test_index_marker(self):
- fixtures = []
- ids = []
- for i in range(10):
- fixture = self._make_fixture(name='TestImage %d' % (i))
- fixtures.append(fixture)
- ids.append(self.service.create(self.context, fixture)['id'])
-
- image_metas = self.service.index(self.context, marker=ids[1])
- self.assertEquals(len(image_metas), 8)
- i = 2
- for meta in image_metas:
- expected = {'id': 'DONTCARE',
- 'name': 'TestImage %d' % (i)}
- self.assertDictMatch(meta, expected)
- i = i + 1
-
- def test_index_limit(self):
- fixtures = []
- ids = []
- for i in range(10):
- fixture = self._make_fixture(name='TestImage %d' % (i))
- fixtures.append(fixture)
- ids.append(self.service.create(self.context, fixture)['id'])
-
- image_metas = self.service.index(self.context, limit=5)
- self.assertEquals(len(image_metas), 5)
-
- def test_index_marker_and_limit(self):
- fixtures = []
- ids = []
- for i in range(10):
- fixture = self._make_fixture(name='TestImage %d' % (i))
- fixtures.append(fixture)
- ids.append(self.service.create(self.context, fixture)['id'])
-
- image_metas = self.service.index(self.context, marker=ids[3], limit=1)
- self.assertEquals(len(image_metas), 1)
- i = 4
- for meta in image_metas:
- expected = {'id': ids[i],
- 'name': 'TestImage %d' % (i)}
- self.assertDictMatch(meta, expected)
- i = i + 1
-
- def test_index_invalid_marker(self):
- fixtures = []
- ids = []
- for i in range(10):
- fixture = self._make_fixture(name='TestImage %d' % (i))
- fixtures.append(fixture)
- ids.append(self.service.create(self.context, fixture)['id'])
-
- self.assertRaises(exception.Invalid, self.service.index,
- self.context, marker='invalidmarker')
-
- def test_index_private_image(self):
+ def test_detail_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']
+ self.service.create(self.context, fixture)['id']
proj = self.context.project_id
self.context.project_id = 'proj1'
- image_metas = self.service.index(self.context)
+ image_metas = self.service.detail(self.context)
self.context.project_id = proj
- expected = [{'id': 'DONTCARE', 'name': 'test image'}]
- self.assertDictListMatch(image_metas, expected)
+ self.assertEqual(1, len(image_metas))
+ self.assertEqual(image_metas[0]['name'], 'test image')
+ self.assertEqual(image_metas[0]['is_public'], False)
def test_detail_marker(self):
fixtures = []
@@ -332,6 +254,18 @@ class TestGlanceImageService(test.TestCase):
image_metas = self.service.detail(self.context, limit=5)
self.assertEquals(len(image_metas), 5)
+ def test_detail_default_limit(self):
+ fixtures = []
+ ids = []
+ for i in range(10):
+ fixture = self._make_fixture(name='TestImage %d' % (i))
+ fixtures.append(fixture)
+ ids.append(self.service.create(self.context, fixture)['id'])
+
+ image_metas = self.service.detail(self.context)
+ for i, meta in enumerate(image_metas):
+ self.assertEqual(meta['name'], 'TestImage %d' % (i))
+
def test_detail_marker_and_limit(self):
fixtures = []
ids = []
@@ -390,20 +324,20 @@ class TestGlanceImageService(test.TestCase):
fixture2 = self._make_fixture(name='test image 2')
fixtures = [fixture1, fixture2]
- num_images = len(self.service.index(self.context))
- self.assertEquals(0, num_images, str(self.service.index(self.context)))
+ num_images = len(self.service.detail(self.context))
+ self.assertEquals(0, num_images)
ids = []
for fixture in fixtures:
new_id = self.service.create(self.context, fixture)['id']
ids.append(new_id)
- num_images = len(self.service.index(self.context))
- self.assertEquals(2, num_images, str(self.service.index(self.context)))
+ num_images = len(self.service.detail(self.context))
+ self.assertEquals(2, num_images)
self.service.delete(self.context, ids[0])
- num_images = len(self.service.index(self.context))
+ num_images = len(self.service.detail(self.context))
self.assertEquals(1, num_images)
def test_delete_not_by_owner(self):
@@ -414,11 +348,11 @@ class TestGlanceImageService(test.TestCase):
properties = {'project_id': 'proj1'}
fixture['properties'] = properties
- num_images = len(self.service.index(self.context))
+ num_images = len(self.service.detail(self.context))
self.assertEquals(0, num_images)
image_id = self.service.create(self.context, fixture)['id']
- num_images = len(self.service.index(self.context))
+ num_images = len(self.service.detail(self.context))
self.assertEquals(1, num_images)
proj_id = self.context.project_id
@@ -429,7 +363,7 @@ class TestGlanceImageService(test.TestCase):
self.context.project_id = proj_id
- num_images = len(self.service.index(self.context))
+ num_images = len(self.service.detail(self.context))
self.assertEquals(1, num_images)
def test_show_passes_through_to_client(self):