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

View File

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