diff options
Diffstat (limited to 'tests/integration_test.py')
-rw-r--r-- | tests/integration_test.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/integration_test.py b/tests/integration_test.py index 763c863..7dd716f 100644 --- a/tests/integration_test.py +++ b/tests/integration_test.py @@ -17,6 +17,7 @@ import contextlib import json import io import os +import random import shutil import signal import socket @@ -1718,3 +1719,27 @@ class TestRegressions(BaseTestCase): 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, 'true', 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) + ) |