Merge pull request #1634 from grahamlyons/readtimeout_calling_container_stop

Ensure default timeout is used by API Client
This commit is contained in:
Joffrey F 2017-06-14 15:18:10 -07:00 committed by GitHub
commit 1eef700eb7
2 changed files with 15 additions and 1 deletions

View File

@ -1,4 +1,5 @@
from .api.client import APIClient
from .constants import DEFAULT_TIMEOUT_SECONDS
from .models.containers import ContainerCollection
from .models.images import ImageCollection
from .models.networks import NetworkCollection
@ -73,7 +74,7 @@ class DockerClient(object):
.. _`SSL version`:
https://docs.python.org/3.5/library/ssl.html#ssl.PROTOCOL_TLSv1
"""
timeout = kwargs.pop('timeout', None)
timeout = kwargs.pop('timeout', DEFAULT_TIMEOUT_SECONDS)
version = kwargs.pop('version', None)
return cls(timeout=timeout, version=version,
**kwargs_from_env(**kwargs))

View File

@ -1,6 +1,9 @@
import datetime
import docker
from docker.utils import kwargs_from_env
from docker.constants import (
DEFAULT_DOCKER_API_VERSION, DEFAULT_TIMEOUT_SECONDS
)
import os
import unittest
@ -96,3 +99,13 @@ class FromEnvTest(unittest.TestCase):
client = docker.from_env(version='2.32')
self.assertEqual(client.api.base_url, "https://192.168.59.103:2376")
self.assertEqual(client.api._version, '2.32')
def test_from_env_without_version_uses_default(self):
client = docker.from_env()
self.assertEqual(client.api._version, DEFAULT_DOCKER_API_VERSION)
def test_from_env_without_timeout_uses_default(self):
client = docker.from_env()
self.assertEqual(client.api.timeout, DEFAULT_TIMEOUT_SECONDS)