Style fixes and removed some unused code

Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
Joffrey F 2019-01-09 10:52:50 -08:00
parent 6969e8becd
commit 65bebc085a
4 changed files with 28 additions and 32 deletions

View File

@ -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,

View File

@ -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):
'''

View File

@ -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([

View File

@ -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