Kaydet (Commit) 3498b63f authored tarafından Joffrey F's avatar Joffrey F

Fix authconfig resolution when credStore is used combined with login()

Signed-off-by: 's avatarJoffrey F <joffrey@docker.com>
üst 14eec99b
...@@ -90,9 +90,12 @@ def resolve_authconfig(authconfig, registry=None): ...@@ -90,9 +90,12 @@ def resolve_authconfig(authconfig, registry=None):
log.debug( log.debug(
'Using credentials store "{0}"'.format(store_name) 'Using credentials store "{0}"'.format(store_name)
) )
return _resolve_authconfig_credstore( cfg = _resolve_authconfig_credstore(
authconfig, registry, store_name authconfig, registry, store_name
) )
if cfg is not None:
return cfg
log.debug('No entry in credstore - fetching from auth dict')
# Default to the public index server # Default to the public index server
registry = resolve_index_name(registry) if registry else INDEX_NAME registry = resolve_index_name(registry) if registry else INDEX_NAME
......
...@@ -210,6 +210,19 @@ class ResolveAuthTest(unittest.TestCase): ...@@ -210,6 +210,19 @@ class ResolveAuthTest(unittest.TestCase):
self.auth_config, auth.resolve_repository_name(image)[0] self.auth_config, auth.resolve_repository_name(image)[0]
) is None ) is None
def test_resolve_auth_with_empty_credstore_and_auth_dict(self):
auth_config = {
'auths': auth.parse_auth({
'https://index.docker.io/v1/': self.index_config,
}),
'credsStore': 'blackbox'
}
with mock.patch('docker.auth._resolve_authconfig_credstore') as m:
m.return_value = None
assert 'indexuser' == auth.resolve_authconfig(
auth_config, None
)['username']
class CredStoreTest(unittest.TestCase): class CredStoreTest(unittest.TestCase):
def test_get_credential_store(self): def test_get_credential_store(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment