added tests for GlanceImageService
This commit is contained in:
@@ -167,12 +167,44 @@ def stub_out_glance(stubs, initial_fixtures=None):
|
||||
self.fixtures = initial_fixtures or []
|
||||
|
||||
def fake_get_images(self, filters=None, marker=None, limit=None):
|
||||
return [dict(id=f['id'], name=f['name'])
|
||||
for f in self.fixtures]
|
||||
found = True
|
||||
if marker: found = False
|
||||
if limit == 0: limit = None
|
||||
|
||||
fixtures = []
|
||||
count = 0
|
||||
for f in self.fixtures:
|
||||
if limit and count >= limit:
|
||||
break
|
||||
if found:
|
||||
fixtures.append(f)
|
||||
count = count + 1
|
||||
if f['id'] == marker:
|
||||
found = True
|
||||
|
||||
return [dict(id=f['id'], name=f['name'])
|
||||
for f in fixtures]
|
||||
|
||||
def fake_get_images_detailed(self, filters=None,
|
||||
marker=None, limit=None):
|
||||
return copy.deepcopy(self.fixtures)
|
||||
found = True
|
||||
if marker: found = False
|
||||
if limit == 0: limit = None
|
||||
|
||||
fixtures = []
|
||||
count = 0
|
||||
for f in self.fixtures:
|
||||
if limit and count >= limit:
|
||||
break
|
||||
if found:
|
||||
fixtures.append(f)
|
||||
count = count + 1
|
||||
if f['id'] == marker:
|
||||
found = True
|
||||
|
||||
|
||||
return fixtures
|
||||
|
||||
|
||||
def fake_get_image_meta(self, image_id):
|
||||
image = self._find_image(image_id)
|
||||
|
||||
@@ -226,6 +226,74 @@ class GlanceImageServiceTest(_BaseImageServiceTests):
|
||||
expected = {'name': 'test image', 'properties': {}}
|
||||
self.assertDictMatch(self.sent_to_glance['metadata'], expected)
|
||||
|
||||
def test_index_default_limit(self):
|
||||
fixtures = []
|
||||
ids = []
|
||||
for i in range(10):
|
||||
fixture = self._make_fixture('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('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('TestImage %d' % (i))
|
||||
fixtures.append(fixture)
|
||||
ids.append(self.service.create(self.context, fixture)['id'])
|
||||
|
||||
image_metas = self.service.index(self.context, limit=3)
|
||||
self.assertEquals(len(image_metas), 3)
|
||||
|
||||
def test_index_marker_and_limit(self):
|
||||
fixtures = []
|
||||
ids = []
|
||||
for i in range(10):
|
||||
fixture = self._make_fixture('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': 'DONTCARE',
|
||||
'name': 'TestImage %d' % (i)}
|
||||
self.assertDictMatch(meta, expected)
|
||||
i = i + 1
|
||||
|
||||
def test_detail(self):
|
||||
fixture = self._make_fixture('test image')
|
||||
image_id = self.service.create(self.context, fixture)['id']
|
||||
image_metas = self.service.index(self.context)
|
||||
expected = [{'id': 'DONTCARE', 'name': 'test image'}]
|
||||
self.assertDictListMatch(image_metas, expected)
|
||||
|
||||
|
||||
class ImageControllerWithGlanceServiceTest(test.TestCase):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user