diff --git a/swiftclient/client.py b/swiftclient/client.py index 4819c124..fdd66850 100644 --- a/swiftclient/client.py +++ b/swiftclient/client.py @@ -366,6 +366,7 @@ def get_auth_keystone(auth_url, user, key, os_options, **kwargs): _ksclient = ksclient.Client( username=user, password=key, + token=os_options.get('auth_token'), tenant_name=os_options.get('tenant_name'), tenant_id=os_options.get('tenant_id'), user_id=os_options.get('user_id'), diff --git a/tests/unit/test_swiftclient.py b/tests/unit/test_swiftclient.py index 97ae467a..6d772cb8 100644 --- a/tests/unit/test_swiftclient.py +++ b/tests/unit/test_swiftclient.py @@ -1534,9 +1534,10 @@ class TestConnection(MockHttpTest): # v2 auth timeouts = [] + os_options = {'tenant_name': 'tenant', 'auth_token': 'meta-token'} conn = c.Connection( 'http://auth.example.com', 'user', 'password', timeout=33.0, - os_options=dict(tenant_name='tenant'), auth_version=2.0) + os_options=os_options, auth_version=2.0) fake_ks = FakeKeystone(endpoint='http://some_url', token='secret') with mock.patch('swiftclient.client._import_keystone_client', _make_fake_import_keystone_client(fake_ks)): @@ -1552,6 +1553,10 @@ class TestConnection(MockHttpTest): # check timeout passed to HEAD for account self.assertEqual(timeouts, [33.0]) + # check token passed to keystone client + self.assertIn('token', fake_ks.calls[0]) + self.assertEqual('meta-token', fake_ks.calls[0].get('token')) + def test_reset_stream(self): class LocalContents(object): diff --git a/tests/unit/utils.py b/tests/unit/utils.py index ac9aefdb..6fc68e6b 100644 --- a/tests/unit/utils.py +++ b/tests/unit/utils.py @@ -504,8 +504,8 @@ class FakeKeystone(object): self.token = token class _Client(object): - def __init__(self, endpoint, token, **kwargs): - self.auth_token = token + def __init__(self, endpoint, auth_token, **kwargs): + self.auth_token = auth_token self.endpoint = endpoint self.service_catalog = self.ServiceCatalog(endpoint) @@ -520,8 +520,8 @@ class FakeKeystone(object): def Client(self, **kwargs): self.calls.append(kwargs) - self.client = self._Client(endpoint=self.endpoint, token=self.token, - **kwargs) + self.client = self._Client( + endpoint=self.endpoint, auth_token=self.token, **kwargs) return self.client class Unauthorized(Exception):