diff options
author | Joffrey F <joffrey@docker.com> | 2015-10-08 17:17:45 -0700 |
---|---|---|
committer | Joffrey F <joffrey@docker.com> | 2015-10-09 17:15:19 -0700 |
commit | 23cf76838a9ba90fee6f5ef3b446908b5763ccb8 (patch) | |
tree | 7c7bf2bd79143cefa3a8300967c40487f0ebff99 /tests | |
parent | f479720d517a7db7f886916190b3032d29d18f10 (diff) | |
download | docker-py-785-docker_config_env.tar.gz |
Use DOCKER_CONFIG environment variable to look up auth config785-docker_config_env
When provided, default paths are ignored.
Signed-off-by: Joffrey F <joffrey@docker.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test.py | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/tests/test.py b/tests/test.py index dbb755f..20ec88c 100644 --- a/tests/test.py +++ b/tests/test.py @@ -2387,7 +2387,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase): f.write('auth = {0}\n'.format(auth_)) f.write('email = sakuya@scarlet.net') cfg = docker.auth.load_config(dockercfg_path) - self.assertTrue(docker.auth.INDEX_NAME in cfg) + assert docker.auth.INDEX_NAME in cfg self.assertNotEqual(cfg[docker.auth.INDEX_NAME], None) cfg = cfg[docker.auth.INDEX_NAME] self.assertEqual(cfg['username'], 'sakuya') @@ -2412,10 +2412,10 @@ class DockerClientTest(Cleanup, base.BaseTestCase): } with open(dockercfg_path, 'w') as f: - f.write(json.dumps(config)) + json.dump(config, f) cfg = docker.auth.load_config(dockercfg_path) - self.assertTrue(registry in cfg) + assert registry in cfg self.assertNotEqual(cfg[registry], None) cfg = cfg[registry] self.assertEqual(cfg['username'], 'sakuya') @@ -2423,6 +2423,33 @@ class DockerClientTest(Cleanup, base.BaseTestCase): self.assertEqual(cfg['email'], 'sakuya@scarlet.net') self.assertEqual(cfg.get('auth'), None) + def test_load_config_custom_config_env(self): + folder = tempfile.mkdtemp() + self.addCleanup(shutil.rmtree, folder) + + dockercfg_path = os.path.join(folder, 'config.json') + registry = 'https://your.private.registry.io' + auth_ = base64.b64encode(b'sakuya:izayoi').decode('ascii') + config = { + registry: { + 'auth': '{0}'.format(auth_), + 'email': 'sakuya@scarlet.net' + } + } + + with open(dockercfg_path, 'w') as f: + json.dump(config, f) + + with mock.patch.dict(os.environ, {'DOCKER_CONFIG': folder}): + cfg = docker.auth.load_config(None) + assert registry in cfg + self.assertNotEqual(cfg[registry], None) + cfg = cfg[registry] + self.assertEqual(cfg['username'], 'sakuya') + self.assertEqual(cfg['password'], 'izayoi') + self.assertEqual(cfg['email'], 'sakuya@scarlet.net') + self.assertEqual(cfg.get('auth'), None) + def test_tar_with_excludes(self): dirs = [ 'foo', |