Merge "Accept token and tenant_id for authenticating against KS"

This commit is contained in:
Jenkins 2016-02-10 19:39:53 +00:00 committed by Gerrit Code Review
commit 84d110c63e
3 changed files with 11 additions and 5 deletions

@ -457,6 +457,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'),

@ -1804,9 +1804,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)):
@ -1821,6 +1822,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):

@ -499,8 +499,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)
@ -515,8 +515,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):