From 764d7b38c484f8dd45eafb47d0add602de5d3ada Mon Sep 17 00:00:00 2001 From: Joffrey F Date: Tue, 23 Aug 2016 16:51:52 -0700 Subject: [PATCH] Support version parameter in `Client.from_env` Signed-off-by: Joffrey F --- docker/client.py | 3 ++- tests/unit/client_test.py | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docker/client.py b/docker/client.py index 758675369d..dc28ac46c1 100644 --- a/docker/client.py +++ b/docker/client.py @@ -114,7 +114,8 @@ def __init__(self, base_url=None, version=None, @classmethod def from_env(cls, **kwargs): - return cls(**kwargs_from_env(**kwargs)) + version = kwargs.pop('version', None) + return cls(version=version, **kwargs_from_env(**kwargs)) def _retrieve_server_version(self): try: diff --git a/tests/unit/client_test.py b/tests/unit/client_test.py index b21f1d6ae4..6ceb8cbbc0 100644 --- a/tests/unit/client_test.py +++ b/tests/unit/client_test.py @@ -25,6 +25,14 @@ def test_from_env(self): client = Client.from_env() self.assertEqual(client.base_url, "https://192.168.59.103:2376") + def test_from_env_with_version(self): + os.environ.update(DOCKER_HOST='tcp://192.168.59.103:2376', + DOCKER_CERT_PATH=TEST_CERT_DIR, + DOCKER_TLS_VERIFY='1') + client = Client.from_env(version='2.32') + self.assertEqual(client.base_url, "https://192.168.59.103:2376") + self.assertEqual(client._version, '2.32') + class DisableSocketTest(base.BaseTestCase): class DummySocket(object):