mirror of https://github.com/docker/docker-py.git
Support passing an alternate environment dict to kwargs_from_env
Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
parent
5c1c42397c
commit
3fe08cbfe5
|
@ -479,15 +479,17 @@ def parse_devices(devices):
|
|||
return device_list
|
||||
|
||||
|
||||
def kwargs_from_env(ssl_version=None, assert_hostname=None):
|
||||
host = os.environ.get('DOCKER_HOST')
|
||||
def kwargs_from_env(ssl_version=None, assert_hostname=None, environment=None):
|
||||
if not environment:
|
||||
environment = os.environ
|
||||
host = environment.get('DOCKER_HOST')
|
||||
|
||||
# empty string for cert path is the same as unset.
|
||||
cert_path = os.environ.get('DOCKER_CERT_PATH') or None
|
||||
cert_path = environment.get('DOCKER_CERT_PATH') or None
|
||||
|
||||
# empty string for tls verify counts as "false".
|
||||
# Any value or 'unset' counts as true.
|
||||
tls_verify = os.environ.get('DOCKER_TLS_VERIFY')
|
||||
tls_verify = environment.get('DOCKER_TLS_VERIFY')
|
||||
if tls_verify == '':
|
||||
tls_verify = False
|
||||
else:
|
||||
|
|
|
@ -249,6 +249,20 @@ class KwargsFromEnvTest(base.BaseTestCase):
|
|||
if temp_dir:
|
||||
shutil.rmtree(temp_dir)
|
||||
|
||||
def test_kwargs_from_env_alternate_env(self):
|
||||
# Values in os.environ are entirely ignored if an alternate is
|
||||
# provided
|
||||
os.environ.update(
|
||||
DOCKER_HOST='tcp://192.168.59.103:2376',
|
||||
DOCKER_CERT_PATH=TEST_CERT_DIR,
|
||||
DOCKER_TLS_VERIFY=''
|
||||
)
|
||||
kwargs = kwargs_from_env(environment={
|
||||
'DOCKER_HOST': 'http://docker.gensokyo.jp:2581',
|
||||
})
|
||||
assert 'http://docker.gensokyo.jp:2581' == kwargs['base_url']
|
||||
assert 'tls' not in kwargs
|
||||
|
||||
|
||||
class ConverVolumeBindsTest(base.BaseTestCase):
|
||||
def test_convert_volume_binds_empty(self):
|
||||
|
|
Loading…
Reference in New Issue