diff options
author | Justin Santa Barbara <justin@fathomdb.com> | 2013-07-18 18:38:34 -0700 |
---|---|---|
committer | Justin Santa Barbara <justin@fathomdb.com> | 2013-08-07 11:17:01 -0700 |
commit | f629692917b0411850f709998beedf7dcc36c4a1 (patch) | |
tree | f0d071e53da6c9a58809a38e1088777401114524 | |
parent | 46ce8655066508fb8f701cb2f2e9642c879a34f1 (diff) | |
download | python-glanceclient-f629692917b0411850f709998beedf7dcc36c4a1.tar.gz |
Cast image_id to string before calling urllib.quote
We can't pass a string in; see Bug #1178233
Change-Id: I040c667e122d792fdcb47ee172463339068af48c
-rw-r--r-- | glanceclient/v1/images.py | 4 | ||||
-rw-r--r-- | 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)] |