Merge pull request #411 from docker/393-enforce-str-version

Enforce passing string as version param in ctor
This commit is contained in:
Joffrey F 2014-11-26 14:28:47 -08:00
commit 2cdefc97d9
2 changed files with 17 additions and 0 deletions

View File

@ -50,6 +50,12 @@ class Client(requests.Session):
raise errors.TLSParameterError(
'If using TLS, the base_url argument must begin with '
'"https://".')
if not isinstance(version, six.string_types):
raise errors.DockerException(
'version parameter must be a string. Found {0}'.format(
type(version).__name__
)
)
self.base_url = base_url
self._version = version
self._timeout = timeout

View File

@ -102,6 +102,17 @@ class DockerClientTest(Cleanup, unittest.TestCase):
def tearDown(self):
self.client.close()
def test_ctor(self):
try:
docker.Client(version=1.12)
except Exception as e:
self.assertTrue(isinstance(e, docker.errors.DockerException))
if not six.PY3:
self.assertEqual(
e.message,
'version parameter must be a string. Found float'
)
#########################
# INFORMATION TESTS #
#########################