diff options
author | Joe Heck <heckj@mac.com> | 2012-11-14 05:38:16 +0000 |
---|---|---|
committer | Joe Heck <heckj@mac.com> | 2012-11-15 17:07:04 +0000 |
commit | 1a35545db3aa2af7707928c6169e1908e24c8286 (patch) | |
tree | 8c4c67cf1654088d61a66ac6756ca7af0585bdbf /keystoneclient/client.py | |
parent | e39351ec65bb00b33d3d57785976daefe9d27c2c (diff) | |
download | python-keystoneclient-1a35545db3aa2af7707928c6169e1908e24c8286.tar.gz |
fixes auth_ref initialization error
bug 1078589
* allow client values to be overridden, but use auth_ref if none
available
* added tests to match this flow
* refactored tokens into test_fixtures.py file
Change-Id: I771a2dee6dedf31d883417d9b4e6e64bbb620f14
Diffstat (limited to 'keystoneclient/client.py')
-rw-r--r-- | keystoneclient/client.py | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/keystoneclient/client.py b/keystoneclient/client.py index 9ab3cfb..c15cdc1 100644 --- a/keystoneclient/client.py +++ b/keystoneclient/client.py @@ -48,25 +48,40 @@ class HTTPClient(httplib2.Http): else: self.add_certificate(key=cert, cert=cert, domain='') self.version = 'v2.0' + # set baseline defaults + self.username = None + self.tenant_id = None + self.tenant_name = None + self.auth_url = None + self.token = None + self.auth_token = None + self.management_url = None + # if loading from a dictionary passed in via auth_ref, + # load values from AccessInfo parsing that dictionary self.auth_ref = access.AccessInfo(**auth_ref) if auth_ref else None if self.auth_ref: self.username = self.auth_ref.username self.tenant_id = self.auth_ref.tenant_id self.tenant_name = self.auth_ref.tenant_name - self.auth_url = self.auth_ref.auth_url - self.management_url = self.auth_ref.management_url + self.auth_url = self.auth_ref.auth_url[0] + self.management_url = self.auth_ref.management_url[0] self.auth_token = self.auth_ref.auth_token - #NOTE(heckj): allow override of the auth_ref defaults from explicit + # allow override of the auth_ref defaults from explicit # values provided to the client - self.username = username - self.tenant_id = tenant_id - self.tenant_name = tenant_name + if username: + self.username = username + if tenant_id: + self.tenant_id = tenant_id + if tenant_name: + self.tenant_name = tenant_name + if auth_url: + self.auth_url = auth_url.rstrip('/') + if token: + self.auth_token = token + if endpoint: + self.management_url = endpoint.rstrip('/') self.password = password - self.auth_url = auth_url.rstrip('/') if auth_url else None - self.auth_token = token self.original_ip = original_ip - - self.management_url = endpoint.rstrip('/') if endpoint else None self.region_name = region_name # httplib2 overrides |