added tests for GlanceImageService

This commit is contained in:
William Wolf
2011-05-31 14:21:15 -04:00
parent 1eee07811f
commit f668339eff
2 changed files with 103 additions and 3 deletions

View File

@@ -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)

View File

@@ -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):
"""