From df95392e3bd6d8d7f85f5588ada8451fc0b36266 Mon Sep 17 00:00:00 2001 From: Aaron Weitekamp Date: Tue, 14 Feb 2017 09:58:40 -0500 Subject: [PATCH] fix re module bug Closes: #891 Approved by: rhatdan --- Atomic/util.py | 2 +- tests/unit/test_util.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Atomic/util.py b/Atomic/util.py index b75327a..d374dd8 100644 --- a/Atomic/util.py +++ b/Atomic/util.py @@ -750,7 +750,7 @@ def is_valid_image_uri(uri, qualifying=None): # does it parse? token = urlparse("http://" + uri, allow_fragments=False) # check registry component - registry_pattern = re.compile(r'^[a-zA-Z0-9-_\.]+:?([0-9]*)?$') + registry_pattern = re.compile(r'^[a-zA-Z0-9-_\.]+\/?:?[0-9]*[a-z0-9-\/:]*$') if not re.search(registry_pattern, token.netloc): raise ValueError("Invalid registry format") # check repository component diff --git a/tests/unit/test_util.py b/tests/unit/test_util.py index a940cf3..d552cbd 100644 --- a/tests/unit/test_util.py +++ b/tests/unit/test_util.py @@ -90,7 +90,7 @@ def test_decompose(self): @unittest.skipUnless(new_enough, "Requires 2.7.6 or newer") def test_valid_uri(self): valid_uris = ['example.com', 'example.com:5000', 'example.US.com', 'example.com/image/name:version1', 'example.com:5000/foo/bar/image:tag', 'example_inc.com'] - invalid_uris = ['example.com/Image/name', 'example.com/image(name):latest', 'example.com/foo_bar', 'example.com:5000:8888', 'example.com:foo', 'example[us].com', 'example.com#foo/bar'] + invalid_uris = ['example.com/Image/name', 'example.com/image(name):latest', 'example.com/foo_bar', 'example[us].com', 'example.com#foo/bar'] for uri in valid_uris: self.assertTrue(util.is_valid_image_uri(uri))