60 lines
2.0 KiB
Python
60 lines
2.0 KiB
Python
|
|
import unittest
|
|
|
|
from tests.v1 import utils
|
|
|
|
import glanceclient.v1.images
|
|
|
|
|
|
class ImageManagerTest(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
self.api = utils.FakeAPI()
|
|
self.mgr = glanceclient.v1.images.ImageManager(self.api)
|
|
|
|
def test_list(self):
|
|
images = self.mgr.list()
|
|
expect = [('GET', '/v1/images/detail', {}, None)]
|
|
self.assertEqual(self.api.calls, expect)
|
|
self.assertEqual(len(images), 1)
|
|
self.assertEqual(images[0].id, '1')
|
|
self.assertEqual(images[0].name, 'image-1')
|
|
self.assertEqual(images[0].properties, {'arch': 'x86_64'})
|
|
|
|
def test_list_with_limit(self):
|
|
self.mgr.list(limit=10)
|
|
expect = [('GET', '/v1/images/detail?limit=10', {}, None)]
|
|
self.assertEqual(self.api.calls, expect)
|
|
|
|
def test_list_with_marker(self):
|
|
self.mgr.list(marker=20)
|
|
expect = [('GET', '/v1/images/detail?marker=20', {}, None)]
|
|
self.assertEqual(self.api.calls, expect)
|
|
|
|
def test_get(self):
|
|
image = self.mgr.get('1')
|
|
expect = [('HEAD', '/v1/images/1', {}, None)]
|
|
self.assertEqual(self.api.calls, expect)
|
|
self.assertEqual(image.id, '1')
|
|
self.assertEqual(image.name, 'image-1')
|
|
|
|
def test_delete(self):
|
|
self.mgr.delete('1')
|
|
expect = [('DELETE', '/v1/images/1', {}, None)]
|
|
self.assertEqual(self.api.calls, expect)
|
|
|
|
def test_create(self):
|
|
image = self.mgr.create(name='image-1')
|
|
expect = [('POST', '/v1/images', {}, {'image': {'name': 'image-1'}})]
|
|
self.assertEqual(self.api.calls, expect)
|
|
self.assertEqual(image.id, '1')
|
|
self.assertEqual(image.name, 'image-1')
|
|
|
|
def test_update(self):
|
|
image = self.mgr.update('1', name='image-2')
|
|
expect_hdrs = {'x-image-meta-name': 'image-2'}
|
|
expect = [('PUT', '/v1/images/1', expect_hdrs, None)]
|
|
self.assertEqual(self.api.calls, expect)
|
|
self.assertEqual(image.id, '1')
|
|
self.assertEqual(image.name, 'image-2')
|