summaryrefslogtreecommitdiff
path: root/keystoneclient/client.py
diff options
context:
space:
mode:
authorJoe Heck <heckj@mac.com>2012-11-14 05:38:16 +0000
committerJoe Heck <heckj@mac.com>2012-11-15 17:07:04 +0000
commit1a35545db3aa2af7707928c6169e1908e24c8286 (patch)
tree8c4c67cf1654088d61a66ac6756ca7af0585bdbf /keystoneclient/client.py
parente39351ec65bb00b33d3d57785976daefe9d27c2c (diff)
downloadpython-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.py35
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