diff options
Diffstat (limited to 'tests/integration/regression_test.py')
-rw-r--r-- | tests/integration/regression_test.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/integration/regression_test.py b/tests/integration/regression_test.py new file mode 100644 index 0000000..dac8806 --- /dev/null +++ b/tests/integration/regression_test.py @@ -0,0 +1,69 @@ +import io +import random + +import docker +import six + +from . import api_test + +BUSYBOX = api_test.BUSYBOX + + +class TestRegressions(api_test.BaseTestCase): + def test_443_handle_nonchunked_response_in_stream(self): + dfile = io.BytesIO() + with self.assertRaises(docker.errors.APIError) as exc: + for line in self.client.build(fileobj=dfile, tag="a/b/c"): + pass + self.assertEqual(exc.exception.response.status_code, 500) + dfile.close() + + def test_542_truncate_ids_client_side(self): + self.client.start( + self.client.create_container(BUSYBOX, ['true']) + ) + result = self.client.containers(all=True, trunc=True) + self.assertEqual(len(result[0]['Id']), 12) + + def test_647_support_doubleslash_in_image_names(self): + with self.assertRaises(docker.errors.APIError): + self.client.inspect_image('gensokyo.jp//kirisame') + + def test_649_handle_timeout_value_none(self): + self.client.timeout = None + ctnr = self.client.create_container(BUSYBOX, ['sleep', '2']) + self.client.start(ctnr) + self.client.stop(ctnr) + + def test_715_handle_user_param_as_int_value(self): + ctnr = self.client.create_container(BUSYBOX, ['id', '-u'], user=1000) + self.client.start(ctnr) + self.client.wait(ctnr) + logs = self.client.logs(ctnr) + if six.PY3: + logs = logs.decode('utf-8') + assert logs == '1000\n' + + def test_792_explicit_port_protocol(self): + + tcp_port, udp_port = random.sample(range(9999, 32000), 2) + ctnr = self.client.create_container( + BUSYBOX, ['sleep', '9999'], ports=[2000, (2000, 'udp')], + host_config=self.client.create_host_config( + port_bindings={'2000/tcp': tcp_port, '2000/udp': udp_port} + ) + ) + self.tmp_containers.append(ctnr) + self.client.start(ctnr) + self.assertEqual( + self.client.port(ctnr, 2000)[0]['HostPort'], + six.text_type(tcp_port) + ) + self.assertEqual( + self.client.port(ctnr, '2000/tcp')[0]['HostPort'], + six.text_type(tcp_port) + ) + self.assertEqual( + self.client.port(ctnr, '2000/udp')[0]['HostPort'], + six.text_type(udp_port) + ) |