summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2016-08-23 16:51:52 -0700
committerJoffrey F <joffrey@docker.com>2016-08-25 14:44:13 -0700
commit764d7b38c484f8dd45eafb47d0add602de5d3ada (patch)
treee8b2f68545a24d29d22be2653f64c045ba3a574f
parentd33e069552bb86f13fb5b352b0c9078bb1837404 (diff)
downloaddocker-py-764d7b38c484f8dd45eafb47d0add602de5d3ada.tar.gz
Support version parameter in `Client.from_env`1075-from-env-version
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r--docker/client.py3
-rw-r--r--tests/unit/client_test.py8
2 files changed, 10 insertions, 1 deletions
diff --git a/docker/client.py b/docker/client.py
index 7586753..dc28ac4 100644
--- a/docker/client.py
+++ b/docker/client.py
@@ -114,7 +114,8 @@ class Client(
@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 b21f1d6..6ceb8cb 100644
--- a/tests/unit/client_test.py
+++ b/tests/unit/client_test.py
@@ -25,6 +25,14 @@ class ClientTest(base.BaseTestCase):
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):