diff --git a/docker/api/daemon.py b/docker/api/daemon.py index 033dbf19..0e1c7538 100644 --- a/docker/api/daemon.py +++ b/docker/api/daemon.py @@ -139,7 +139,7 @@ class DaemonApiMixin(object): if response.status_code == 200: if 'auths' not in self._auth_configs: self._auth_configs['auths'] = {} - self._auth_configs[registry or auth.INDEX_NAME] = req_data + self._auth_configs['auths'][registry or auth.INDEX_NAME] = req_data return self._result(response, json=True) def ping(self): diff --git a/tests/unit/api_test.py b/tests/unit/api_test.py index c53a4be1..f65e13ec 100644 --- a/tests/unit/api_test.py +++ b/tests/unit/api_test.py @@ -212,6 +212,24 @@ class DockerApiTest(BaseAPIClientTest): timeout=DEFAULT_TIMEOUT_SECONDS ) + def test_login(self): + self.client.login('sakuya', 'izayoi') + fake_request.assert_called_with( + 'POST', url_prefix + 'auth', + data=json.dumps({'username': 'sakuya', 'password': 'izayoi'}), + timeout=DEFAULT_TIMEOUT_SECONDS, + headers={'Content-Type': 'application/json'} + ) + + assert self.client._auth_configs['auths'] == { + 'docker.io': { + 'email': None, + 'password': 'izayoi', + 'username': 'sakuya', + 'serveraddress': None, + } + } + def test_events(self): self.client.events()