Fix glanceclient http.py string formatting error

* Fix "TypeError: not all arguments converted during string formatting"

* Add a UT case to cover the path where the bug is in

Change-Id: I91a137c5c3a9a3cc603804bef5eaea14ae281c08
Closes-Bug: #1265730
This commit is contained in:
Le Tian Ren 2014-01-06 14:43:56 +08:00
parent 80cf47e229
commit 2ed01afac9
2 changed files with 19 additions and 1 deletions

View File

@ -435,7 +435,8 @@ class VerifiedHTTPSConnection(HTTPSConnection):
try:
self.context.load_verify_locations(self.cacert)
except Exception as e:
msg = 'Unable to load CA from "%s"' % (self.cacert, e)
msg = ('Unable to load CA from "%(cacert)s" %(exc)s' %
dict(cacert=self.cacert, exc=e))
raise exc.SSLConfigurationError(msg)
else:
self.context.set_default_verify_paths()

View File

@ -293,6 +293,23 @@ class TestHostResolutionError(testtools.TestCase):
self.mock.UnsetStubs()
class TestVerifiedHTTPSConnection(testtools.TestCase):
"""Test fixture for glanceclient.common.http.VerifiedHTTPSConnection."""
def test_setcontext_unable_to_load_cacert(self):
"""Add this UT case with Bug#1265730."""
self.assertRaises(exc.SSLConfigurationError,
http.VerifiedHTTPSConnection,
"127.0.0.1",
None,
None,
None,
"gx_cacert",
None,
False,
True)
class TestResponseBodyIterator(testtools.TestCase):
def test_iter_default_chunk_size_64k(self):