diff options
| author | Joffrey F <joffrey@docker.com> | 2015-11-23 18:28:55 -0800 |
|---|---|---|
| committer | Joffrey F <joffrey@docker.com> | 2015-11-23 18:43:02 -0800 |
| commit | 6d0e2d69d52733bbc02bf63cccce11fd9961c32d (patch) | |
| tree | 82712a56f9667e6c823ce54aee1b6f74b8bf6982 /tests/unit | |
| parent | 1ca2bc58f0cf2e2cdda2734395bd3e7ad9b178bf (diff) | |
| download | docker-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.py | 35 |
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'), |
