summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2017-06-28 12:06:03 -0700
committerJoffrey F <joffrey@docker.com>2017-06-28 12:22:34 -0700
commit50a60717f064f77974807cba7f9defd8f4e1cf4e (patch)
tree1fe8e384c32a5613670cec1548d5ab43bbf12d18
parent706e2cad654cf43be1dd4e4d420baa6964b0f1d3 (diff)
downloaddocker-py-50a60717f064f77974807cba7f9defd8f4e1cf4e.tar.gz
split_port should not break when passed a non-string argument
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r--docker/utils/ports.py1
-rw-r--r--tests/unit/utils_test.py3
2 files changed, 4 insertions, 0 deletions
diff --git a/docker/utils/ports.py b/docker/utils/ports.py
index 57332de..8f713c7 100644
--- a/docker/utils/ports.py
+++ b/docker/utils/ports.py
@@ -54,6 +54,7 @@ def port_range(start, end, proto, randomly_available_port=False):
def split_port(port):
+ port = str(port)
match = PORT_SPEC.match(port)
if match is None:
_raise_invalid_port(port)
diff --git a/tests/unit/utils_test.py b/tests/unit/utils_test.py
index c25881d..a2d463d 100644
--- a/tests/unit/utils_test.py
+++ b/tests/unit/utils_test.py
@@ -587,6 +587,9 @@ class PortsTest(unittest.TestCase):
def test_split_port_empty_string(self):
self.assertRaises(ValueError, lambda: split_port(""))
+ def test_split_port_non_string(self):
+ assert split_port(1243) == (['1243'], None)
+
def test_build_port_bindings_with_one_port(self):
port_bindings = build_port_bindings(["127.0.0.1:1000:1000"])
self.assertEqual(port_bindings["1000"], [("127.0.0.1", "1000")])