summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2017-08-21 14:41:10 -0700
committerJoffrey F <joffrey@docker.com>2017-08-21 15:31:47 -0700
commit4df962ba5a889a234157bb63a64d0ce88d1e6046 (patch)
tree0995a47dff804fb400585bef25f8670e98261492
parent3df0653493d5f2ff5e17de8211a32aed8f4c1965 (diff)
downloaddocker-py-4df962ba5a889a234157bb63a64d0ce88d1e6046.tar.gz
Always send attach request as streaming1717-attach-stream-false
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r--docker/api/container.py2
-rw-r--r--tests/integration/api_container_test.py16
2 files changed, 13 insertions, 5 deletions
diff --git a/docker/api/container.py b/docker/api/container.py
index dde1325..918f8a3 100644
--- a/docker/api/container.py
+++ b/docker/api/container.py
@@ -50,7 +50,7 @@ class ContainerApiMixin(object):
}
u = self._url("/containers/{0}/attach", container)
- response = self._post(u, headers=headers, params=params, stream=stream)
+ response = self._post(u, headers=headers, params=params, stream=True)
return self._read_from_socket(
response, stream, self._check_is_tty(container)
diff --git a/tests/integration/api_container_test.py b/tests/integration/api_container_test.py
index f8b474a..a972c1c 100644
--- a/tests/integration/api_container_test.py
+++ b/tests/integration/api_container_test.py
@@ -1092,20 +1092,28 @@ class AttachContainerTest(BaseAPIIntegrationTest):
command = "printf '{0}'".format(line)
container = self.client.create_container(BUSYBOX, command,
detach=True, tty=False)
- ident = container['Id']
- self.tmp_containers.append(ident)
+ self.tmp_containers.append(container)
opts = {"stdout": 1, "stream": 1, "logs": 1}
- pty_stdout = self.client.attach_socket(ident, opts)
+ pty_stdout = self.client.attach_socket(container, opts)
self.addCleanup(pty_stdout.close)
- self.client.start(ident)
+ self.client.start(container)
next_size = next_frame_size(pty_stdout)
self.assertEqual(next_size, len(line))
data = read_exactly(pty_stdout, next_size)
self.assertEqual(data.decode('utf-8'), line)
+ def test_attach_no_stream(self):
+ container = self.client.create_container(
+ BUSYBOX, 'echo hello'
+ )
+ self.tmp_containers.append(container)
+ self.client.start(container)
+ output = self.client.attach(container, stream=False, logs=True)
+ assert output == 'hello\n'.encode(encoding='ascii')
+
class PauseTest(BaseAPIIntegrationTest):
def test_pause_unpause(self):