summaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2015-11-23 18:28:55 -0800
committerJoffrey F <joffrey@docker.com>2015-11-23 18:43:02 -0800
commit6d0e2d69d52733bbc02bf63cccce11fd9961c32d (patch)
tree82712a56f9667e6c823ce54aee1b6f74b8bf6982 /tests/unit
parent1ca2bc58f0cf2e2cdda2734395bd3e7ad9b178bf (diff)
downloaddocker-py-6d0e2d69d52733bbc02bf63cccce11fd9961c32d.tar.gz
Update auth.resolve_repository_name
More relaxed version that matches the constraints imposed by the current version of the docker daemon. Few unit tests to verify the new cases. Client.pull was trying to set the tag value when it wasn't supposed to, fixed now. utils.parse_repository_tag is simpler and supports @sha... notation Signed-off-by: Joffrey F <joffrey@docker.com>
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/auth_test.py35
1 files changed, 28 insertions, 7 deletions
diff --git a/tests/unit/auth_test.py b/tests/unit/auth_test.py
index 6783038..8e0b1d4 100644
--- a/tests/unit/auth_test.py
+++ b/tests/unit/auth_test.py
@@ -9,6 +9,7 @@ import shutil
import tempfile
from docker import auth
+from docker import errors
from .. import base
@@ -29,25 +30,31 @@ class RegressionTest(base.BaseTestCase):
assert b'_' in encoded
-class ResolveAuthTest(base.BaseTestCase):
- auth_config = {
- 'https://index.docker.io/v1/': {'auth': 'indexuser'},
- 'my.registry.net': {'auth': 'privateuser'},
- 'http://legacy.registry.url/v1/': {'auth': 'legacyauth'}
- }
-
+class ResolveRepositoryNameTest(base.BaseTestCase):
def test_resolve_repository_name_hub_library_image(self):
self.assertEqual(
auth.resolve_repository_name('image'),
('index.docker.io', 'image'),
)
+ def test_resolve_repository_name_dotted_hub_library_image(self):
+ self.assertEqual(
+ auth.resolve_repository_name('image.valid'),
+ ('index.docker.io', 'image.valid')
+ )
+
def test_resolve_repository_name_hub_image(self):
self.assertEqual(
auth.resolve_repository_name('username/image'),
('index.docker.io', 'username/image'),
)
+ def test_explicit_hub_index_library_image(self):
+ self.assertEqual(
+ auth.resolve_repository_name('index.docker.io/image'),
+ ('index.docker.io', 'image')
+ )
+
def test_resolve_repository_name_private_registry(self):
self.assertEqual(
auth.resolve_repository_name('my.registry.net/image'),
@@ -90,6 +97,20 @@ class ResolveAuthTest(base.BaseTestCase):
('localhost', 'username/image'),
)
+ def test_invalid_index_name(self):
+ self.assertRaises(
+ errors.InvalidRepository,
+ lambda: auth.resolve_repository_name('-gecko.com/image')
+ )
+
+
+class ResolveAuthTest(base.BaseTestCase):
+ auth_config = {
+ 'https://index.docker.io/v1/': {'auth': 'indexuser'},
+ 'my.registry.net': {'auth': 'privateuser'},
+ 'http://legacy.registry.url/v1/': {'auth': 'legacyauth'}
+ }
+
def test_resolve_authconfig_hostname_only(self):
self.assertEqual(
auth.resolve_authconfig(self.auth_config, 'my.registry.net'),