mirror of https://github.com/docker/docker-py.git
Show a helpful warning when people try to call `client.containers()`
People upgrading to docker-py 2.0 without being aware of the new client API will likely try to call the old `containers()` method. This adds a helpful warning telling them to use APIClient to get the old API. Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
parent
f051f7e90a
commit
8c27dd5233
|
@ -60,6 +60,12 @@ class Collection(object):
|
||||||
#: is on.
|
#: is on.
|
||||||
self.client = client
|
self.client = client
|
||||||
|
|
||||||
|
def __call__(self, *args, **kwargs):
|
||||||
|
raise TypeError(
|
||||||
|
"'{}' object is not callable. You might be trying to use the old "
|
||||||
|
"(pre-2.0) API - use docker.APIClient if so."
|
||||||
|
.format(self.__class__.__name__))
|
||||||
|
|
||||||
def list(self):
|
def list(self):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import datetime
|
import datetime
|
||||||
import docker
|
import docker
|
||||||
|
from docker.utils import kwargs_from_env
|
||||||
import os
|
import os
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
@ -59,6 +60,16 @@ class ClientTest(unittest.TestCase):
|
||||||
assert "'Client' object has no attribute 'abcdef'" in s
|
assert "'Client' object has no attribute 'abcdef'" in s
|
||||||
assert "this method is now on the object APIClient" not in s
|
assert "this method is now on the object APIClient" not in s
|
||||||
|
|
||||||
|
def test_call_containers(self):
|
||||||
|
client = docker.Client(**kwargs_from_env())
|
||||||
|
|
||||||
|
with self.assertRaises(TypeError) as cm:
|
||||||
|
client.containers()
|
||||||
|
|
||||||
|
s = str(cm.exception)
|
||||||
|
assert "'ContainerCollection' object is not callable" in s
|
||||||
|
assert "docker.APIClient" in s
|
||||||
|
|
||||||
|
|
||||||
class FromEnvTest(unittest.TestCase):
|
class FromEnvTest(unittest.TestCase):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue