diff options
author | Joffrey F <joffrey@docker.com> | 2019-01-09 10:52:50 -0800 |
---|---|---|
committer | Joffrey F <joffrey@docker.com> | 2019-01-09 11:30:58 -0800 |
commit | 65bebc085ab8bb36e5d6de44399b8480e7ae3e68 (patch) | |
tree | 4d29cdb1da83347a0f58184b84ede21fa8327c8f | |
parent | 6969e8becde593ee3dc1d3093d9299502ccc10ed (diff) | |
download | docker-py-65bebc085ab8bb36e5d6de44399b8480e7ae3e68.tar.gz |
Style fixes and removed some unused code2199-proxy-support
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r-- | docker/api/container.py | 6 | ||||
-rw-r--r-- | docker/utils/proxy.py | 16 | ||||
-rw-r--r-- | tests/integration/api_build_test.py | 11 | ||||
-rw-r--r-- | tests/integration/api_exec_test.py | 27 |
4 files changed, 28 insertions, 32 deletions
diff --git a/docker/api/container.py b/docker/api/container.py index 54f9950..43ae532 100644 --- a/docker/api/container.py +++ b/docker/api/container.py @@ -410,9 +410,11 @@ class ContainerApiMixin(object): if isinstance(environment, dict): environment = utils.utils.format_environment(environment) + if use_config_proxy: - environment = \ - self._proxy_configs.inject_proxy_environment(environment) + environment = self._proxy_configs.inject_proxy_environment( + environment + ) config = self.create_container_config( image, command, hostname, user, detach, stdin_open, tty, diff --git a/docker/utils/proxy.py b/docker/utils/proxy.py index c368116..49e98ed 100644 --- a/docker/utils/proxy.py +++ b/docker/utils/proxy.py @@ -9,34 +9,18 @@ class ProxyConfig(dict): def http(self): return self.get('http') - @http.setter - def http(self, value): - self['http'] = value - @property def https(self): return self.get('https') - @https.setter - def https(self, value): - self['https'] = value - @property def ftp(self): return self.get('ftp') - @ftp.setter - def ftp(self, value): - self['ftp'] = value - @property def no_proxy(self): return self.get('no_proxy') - @no_proxy.setter - def no_proxy(self, value): - self['no_proxy'] = value - @staticmethod def from_dict(config): ''' diff --git a/tests/integration/api_build_test.py b/tests/integration/api_build_test.py index 3c4e982..8bfc796 100644 --- a/tests/integration/api_build_test.py +++ b/tests/integration/api_build_test.py @@ -16,7 +16,8 @@ from ..helpers import random_name, requires_api_version, requires_experimental class BuildTest(BaseAPIIntegrationTest): def test_build_with_proxy(self): self.client._proxy_configs = ProxyConfig( - ftp='a', http='b', https='c', no_proxy='d') + ftp='a', http='b', https='c', no_proxy='d' + ) script = io.BytesIO('\n'.join([ 'FROM busybox', @@ -29,11 +30,13 @@ class BuildTest(BaseAPIIntegrationTest): 'RUN env | grep "NO_PROXY=d"', 'RUN env | grep "no_proxy=d"', ]).encode('ascii')) + self.client.build(fileobj=script, decode=True) def test_build_with_proxy_and_buildargs(self): self.client._proxy_configs = ProxyConfig( - ftp='a', http='b', https='c', no_proxy='d') + ftp='a', http='b', https='c', no_proxy='d' + ) script = io.BytesIO('\n'.join([ 'FROM busybox', @@ -46,10 +49,12 @@ class BuildTest(BaseAPIIntegrationTest): 'RUN env | grep "NO_PROXY=d"', 'RUN env | grep "no_proxy=d"', ]).encode('ascii')) + self.client.build( fileobj=script, decode=True, - buildargs={'FTP_PROXY': 'XXX', 'ftp_proxy': 'xxx'}) + buildargs={'FTP_PROXY': 'XXX', 'ftp_proxy': 'xxx'} + ) def test_build_streaming(self): script = io.BytesIO('\n'.join([ diff --git a/tests/integration/api_exec_test.py b/tests/integration/api_exec_test.py index 8947b41..e6079eb 100644 --- a/tests/integration/api_exec_test.py +++ b/tests/integration/api_exec_test.py @@ -9,37 +9,42 @@ from ..helpers import ( class ExecTest(BaseAPIIntegrationTest): - def test_execute_proxy_env(self): + def test_execute_command_with_proxy_env(self): # Set a custom proxy config on the client self.client._proxy_configs = ProxyConfig( - ftp='a', https='b', http='c', no_proxy='d') + ftp='a', https='b', http='c', no_proxy='d' + ) container = self.client.create_container( - BUSYBOX, 'cat', detach=True, stdin_open=True) - id = container['Id'] - self.client.start(id) - self.tmp_containers.append(id) + BUSYBOX, 'cat', detach=True, stdin_open=True, + use_config_proxy=True, + ) + self.client.start(container) + self.tmp_containers.append(container) cmd = 'sh -c "env | grep -i proxy"' # First, just make sure the environment variables from the custom # config are set - res = self.client.exec_create(id, cmd=cmd, use_config_proxy=True) + + res = self.client.exec_create(container, cmd=cmd) output = self.client.exec_start(res).decode('utf-8').split('\n') expected = [ 'ftp_proxy=a', 'https_proxy=b', 'http_proxy=c', 'no_proxy=d', - 'FTP_PROXY=a', 'HTTPS_PROXY=b', 'HTTP_PROXY=c', 'NO_PROXY=d'] + 'FTP_PROXY=a', 'HTTPS_PROXY=b', 'HTTP_PROXY=c', 'NO_PROXY=d' + ] for item in expected: assert item in output # Overwrite some variables with a custom environment env = {'https_proxy': 'xxx', 'HTTPS_PROXY': 'XXX'} - res = self.client.exec_create( - id, cmd=cmd, environment=env, use_config_proxy=True) + + res = self.client.exec_create(container, cmd=cmd, environment=env) output = self.client.exec_start(res).decode('utf-8').split('\n') expected = [ 'ftp_proxy=a', 'https_proxy=xxx', 'http_proxy=c', 'no_proxy=d', - 'FTP_PROXY=a', 'HTTPS_PROXY=XXX', 'HTTP_PROXY=c', 'NO_PROXY=d'] + 'FTP_PROXY=a', 'HTTPS_PROXY=XXX', 'HTTP_PROXY=c', 'NO_PROXY=d' + ] for item in expected: assert item in output |