mirror of https://github.com/docker/docker-py.git
Merge pull request #2292 from ulyssessouza/fix-config-proxy-mapping
Fix base_url to keep TCP protocol
This commit is contained in:
commit
3244094d97
|
@ -352,9 +352,7 @@ def kwargs_from_env(ssl_version=None, assert_hostname=None, environment=None):
|
||||||
params = {}
|
params = {}
|
||||||
|
|
||||||
if host:
|
if host:
|
||||||
params['base_url'] = (
|
params['base_url'] = host
|
||||||
host.replace('tcp://', 'https://') if enable_tls else host
|
|
||||||
)
|
|
||||||
|
|
||||||
if not enable_tls:
|
if not enable_tls:
|
||||||
return params
|
return params
|
||||||
|
|
|
@ -1080,7 +1080,6 @@ class KillTest(BaseAPIIntegrationTest):
|
||||||
|
|
||||||
class PortTest(BaseAPIIntegrationTest):
|
class PortTest(BaseAPIIntegrationTest):
|
||||||
def test_port(self):
|
def test_port(self):
|
||||||
|
|
||||||
port_bindings = {
|
port_bindings = {
|
||||||
'1111': ('127.0.0.1', '4567'),
|
'1111': ('127.0.0.1', '4567'),
|
||||||
'2222': ('127.0.0.1', '4568'),
|
'2222': ('127.0.0.1', '4568'),
|
||||||
|
@ -1268,6 +1267,9 @@ class AttachContainerTest(BaseAPIIntegrationTest):
|
||||||
@pytest.mark.timeout(5)
|
@pytest.mark.timeout(5)
|
||||||
@pytest.mark.skipif(os.environ.get('DOCKER_HOST', '').startswith('ssh://'),
|
@pytest.mark.skipif(os.environ.get('DOCKER_HOST', '').startswith('ssh://'),
|
||||||
reason='No cancellable streams over SSH')
|
reason='No cancellable streams over SSH')
|
||||||
|
@pytest.mark.xfail(condition=os.environ.get('DOCKER_TLS_VERIFY') or
|
||||||
|
os.environ.get('DOCKER_CERT_PATH'),
|
||||||
|
reason='Flaky test on TLS')
|
||||||
def test_attach_stream_and_cancel(self):
|
def test_attach_stream_and_cancel(self):
|
||||||
container = self.client.create_container(
|
container = self.client.create_container(
|
||||||
BUSYBOX, 'sh -c "echo hello && sleep 60"',
|
BUSYBOX, 'sh -c "echo hello && sleep 60"',
|
||||||
|
|
|
@ -11,6 +11,7 @@ import unittest
|
||||||
|
|
||||||
|
|
||||||
from docker.api.client import APIClient
|
from docker.api.client import APIClient
|
||||||
|
from docker.constants import IS_WINDOWS_PLATFORM
|
||||||
from docker.errors import DockerException
|
from docker.errors import DockerException
|
||||||
from docker.utils import (
|
from docker.utils import (
|
||||||
convert_filters, convert_volume_binds, decode_json_header, kwargs_from_env,
|
convert_filters, convert_volume_binds, decode_json_header, kwargs_from_env,
|
||||||
|
@ -83,15 +84,17 @@ class KwargsFromEnvTest(unittest.TestCase):
|
||||||
DOCKER_CERT_PATH=TEST_CERT_DIR,
|
DOCKER_CERT_PATH=TEST_CERT_DIR,
|
||||||
DOCKER_TLS_VERIFY='1')
|
DOCKER_TLS_VERIFY='1')
|
||||||
kwargs = kwargs_from_env(assert_hostname=False)
|
kwargs = kwargs_from_env(assert_hostname=False)
|
||||||
assert 'https://192.168.59.103:2376' == kwargs['base_url']
|
assert 'tcp://192.168.59.103:2376' == kwargs['base_url']
|
||||||
assert 'ca.pem' in kwargs['tls'].ca_cert
|
assert 'ca.pem' in kwargs['tls'].ca_cert
|
||||||
assert 'cert.pem' in kwargs['tls'].cert[0]
|
assert 'cert.pem' in kwargs['tls'].cert[0]
|
||||||
assert 'key.pem' in kwargs['tls'].cert[1]
|
assert 'key.pem' in kwargs['tls'].cert[1]
|
||||||
assert kwargs['tls'].assert_hostname is False
|
assert kwargs['tls'].assert_hostname is False
|
||||||
assert kwargs['tls'].verify
|
assert kwargs['tls'].verify
|
||||||
|
|
||||||
|
parsed_host = parse_host(kwargs['base_url'], IS_WINDOWS_PLATFORM, True)
|
||||||
try:
|
try:
|
||||||
client = APIClient(**kwargs)
|
client = APIClient(**kwargs)
|
||||||
assert kwargs['base_url'] == client.base_url
|
assert parsed_host == client.base_url
|
||||||
assert kwargs['tls'].ca_cert == client.verify
|
assert kwargs['tls'].ca_cert == client.verify
|
||||||
assert kwargs['tls'].cert == client.cert
|
assert kwargs['tls'].cert == client.cert
|
||||||
except TypeError as e:
|
except TypeError as e:
|
||||||
|
@ -102,15 +105,16 @@ class KwargsFromEnvTest(unittest.TestCase):
|
||||||
DOCKER_CERT_PATH=TEST_CERT_DIR,
|
DOCKER_CERT_PATH=TEST_CERT_DIR,
|
||||||
DOCKER_TLS_VERIFY='')
|
DOCKER_TLS_VERIFY='')
|
||||||
kwargs = kwargs_from_env(assert_hostname=True)
|
kwargs = kwargs_from_env(assert_hostname=True)
|
||||||
assert 'https://192.168.59.103:2376' == kwargs['base_url']
|
assert 'tcp://192.168.59.103:2376' == kwargs['base_url']
|
||||||
assert 'ca.pem' in kwargs['tls'].ca_cert
|
assert 'ca.pem' in kwargs['tls'].ca_cert
|
||||||
assert 'cert.pem' in kwargs['tls'].cert[0]
|
assert 'cert.pem' in kwargs['tls'].cert[0]
|
||||||
assert 'key.pem' in kwargs['tls'].cert[1]
|
assert 'key.pem' in kwargs['tls'].cert[1]
|
||||||
assert kwargs['tls'].assert_hostname is True
|
assert kwargs['tls'].assert_hostname is True
|
||||||
assert kwargs['tls'].verify is False
|
assert kwargs['tls'].verify is False
|
||||||
|
parsed_host = parse_host(kwargs['base_url'], IS_WINDOWS_PLATFORM, True)
|
||||||
try:
|
try:
|
||||||
client = APIClient(**kwargs)
|
client = APIClient(**kwargs)
|
||||||
assert kwargs['base_url'] == client.base_url
|
assert parsed_host == client.base_url
|
||||||
assert kwargs['tls'].cert == client.cert
|
assert kwargs['tls'].cert == client.cert
|
||||||
assert not kwargs['tls'].verify
|
assert not kwargs['tls'].verify
|
||||||
except TypeError as e:
|
except TypeError as e:
|
||||||
|
|
Loading…
Reference in New Issue