From f629692917b0411850f709998beedf7dcc36c4a1 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Thu, 18 Jul 2013 18:38:34 -0700 Subject: [PATCH] Cast image_id to string before calling urllib.quote We can't pass a string in; see Bug #1178233 Change-Id: I040c667e122d792fdcb47ee172463339068af48c --- glanceclient/v1/images.py | 4 ++-- tests/v1/test_images.py | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/glanceclient/v1/images.py b/glanceclient/v1/images.py index 05d687c..e9fe840 100644 --- a/glanceclient/v1/images.py +++ b/glanceclient/v1/images.py @@ -113,7 +113,7 @@ class ImageManager(base.Manager): image_id = base.getid(image) resp, body = self.api.raw_request('HEAD', '/v1/images/%s' - % urllib.quote(image_id)) + % urllib.quote(str(image_id))) meta = self._image_meta_from_headers(dict(resp.getheaders())) return Image(self, meta) @@ -126,7 +126,7 @@ class ImageManager(base.Manager): """ image_id = base.getid(image) resp, body = self.api.raw_request('GET', '/v1/images/%s' - % urllib.quote(image_id)) + % urllib.quote(str(image_id))) checksum = resp.getheader('x-image-meta-checksum', None) if do_checksum and checksum is not None: return utils.integrity_iter(body, checksum) diff --git a/tests/v1/test_images.py b/tests/v1/test_images.py index 708d380..9ce0bec 100644 --- a/tests/v1/test_images.py +++ b/tests/v1/test_images.py @@ -314,6 +314,17 @@ class ImageManagerTest(testtools.TestCase): self.assertEqual(image.deleted, False) self.assertEqual(image.properties, {u'arch': u'x86_64'}) + def test_get_int(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') + self.assertEqual(image.is_public, False) + self.assertEqual(image.protected, False) + self.assertEqual(image.deleted, False) + self.assertEqual(image.properties, {u'arch': u'x86_64'}) + def test_get_encoding(self): image = self.mgr.get('3') expect = [('HEAD', '/v1/images/3', {}, None)]