From 80021a5010282ed31a1f502b8ac36322d312bb6a Mon Sep 17 00:00:00 2001 From: Hongbin Lu Date: Sun, 30 Dec 2018 16:57:56 +0000 Subject: [PATCH] Add more test cases for image reference Change-Id: I932d6a61027d292a94e9591511efa5fdf9b07950 --- .../common/docker_image/test_reference.py | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/zun/tests/unit/common/docker_image/test_reference.py b/zun/tests/unit/common/docker_image/test_reference.py index 4b858a318..729b84cbf 100644 --- a/zun/tests/unit/common/docker_image/test_reference.py +++ b/zun/tests/unit/common/docker_image/test_reference.py @@ -19,7 +19,7 @@ from zun.tests import base class TestReference(base.BaseTestCase): def test_reference(self): def create_test_case(input_, err=None, repository=None, hostname=None, - tag=None, digest=None): + tag=None, digest=None, path=None): return { 'input': input_, 'err': err, @@ -27,6 +27,7 @@ class TestReference(base.BaseTestCase): 'hostname': hostname, 'tag': tag, 'digest': digest, + 'path': path, } test_cases = [ @@ -107,6 +108,26 @@ class TestReference(base.BaseTestCase): repository='foo/foo_bar.com', hostname='foo', tag='8080'), + create_test_case(input_='test.com/foo', + repository='test.com/foo', + hostname='test.com', + path='foo'), + create_test_case(input_='test:8080/foo', + repository='test:8080/foo', + hostname='test:8080', + path='foo'), + create_test_case(input_='test.com:8080/foo', + repository='test.com:8080/foo', + hostname='test.com:8080', + path='foo'), + create_test_case(input_='test-com:8080/foo', + repository='test-com:8080/foo', + hostname='test-com:8080', + path='foo'), + create_test_case(input_='xn--n3h.com:18080/foo', + repository='xn--n3h.com:18080/foo', + hostname='xn--n3h.com:18080', + path='foo'), ] for tc in test_cases: @@ -120,15 +141,19 @@ class TestReference(base.BaseTestCase): except Exception as e: raise e else: - if tc['repository']: + if tc['repository'] is not None: self.assertEqual(tc['repository'], r['name']) - if tc['hostname']: + if tc['hostname'] is not None: hostname, _ = r.split_hostname() self.assertEqual(tc['hostname'], hostname) - if tc['tag']: + if tc['path'] is not None: + _, path = r.split_hostname() + self.assertEqual(tc['path'], path) + + if tc['tag'] is not None: self.assertEqual(tc['tag'], r['tag']) - if tc['digest']: + if tc['digest'] is not None: self.assertEqual(tc['digest'], r['digest'])