diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-09-11 00:28:29 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-09-11 00:28:29 +0000 |
commit | c846c616c5fb6da8ee1c519f375692d72b08b8e0 (patch) | |
tree | ef41f7754e6ef32cec6cfd74c4a65186d6d45572 | |
parent | 703b5fc37d8901b550c1415da8b88c5e34fe6511 (diff) | |
parent | 52103dfa2ae0b4eb413a3f9c7a2c1341e95cae0b (diff) | |
download | python-keystoneclient-c846c616c5fb6da8ee1c519f375692d72b08b8e0.tar.gz |
Merge "Allow passing None for username in v2.Password"
-rw-r--r-- | keystoneclient/auth/identity/v2.py | 14 | ||||
-rw-r--r-- | keystoneclient/tests/auth/test_identity_v2.py | 4 |
2 files changed, 15 insertions, 3 deletions
diff --git a/keystoneclient/auth/identity/v2.py b/keystoneclient/auth/identity/v2.py index 174f899..1668a82 100644 --- a/keystoneclient/auth/identity/v2.py +++ b/keystoneclient/auth/identity/v2.py @@ -95,11 +95,14 @@ class Auth(base.BaseIdentityPlugin): """ +_NOT_PASSED = object() + + class Password(Auth): @utils.positional(4) - def __init__(self, auth_url, username=None, password=None, user_id=None, - **kwargs): + def __init__(self, auth_url, username=_NOT_PASSED, password=None, + user_id=_NOT_PASSED, **kwargs): """A plugin for authenticating with a username and password. A username or user_id must be provided. @@ -113,10 +116,15 @@ class Password(Auth): """ super(Password, self).__init__(auth_url, **kwargs) - if not (user_id or username): + if username is _NOT_PASSED and user_id is _NOT_PASSED: msg = 'You need to specify either a username or user_id' raise TypeError(msg) + if username is _NOT_PASSED: + username = None + if user_id is _NOT_PASSED: + user_id = None + self.user_id = user_id self.username = username self.password = password diff --git a/keystoneclient/tests/auth/test_identity_v2.py b/keystoneclient/tests/auth/test_identity_v2.py index 52e178b..d832f14 100644 --- a/keystoneclient/tests/auth/test_identity_v2.py +++ b/keystoneclient/tests/auth/test_identity_v2.py @@ -100,6 +100,7 @@ class V2IdentityPlugin(utils.TestCase): self.stub_auth(json=self.TEST_RESPONSE_DICT) a = v2.Password(self.TEST_URL, username=self.TEST_USER, password=self.TEST_PASS) + self.assertIsNone(a.user_id) s = session.Session(a) s.get_token() @@ -114,6 +115,7 @@ class V2IdentityPlugin(utils.TestCase): self.stub_auth(json=self.TEST_RESPONSE_DICT) a = v2.Password(self.TEST_URL, user_id=self.TEST_USER, password=self.TEST_PASS) + self.assertIsNone(a.username) s = session.Session(a) s.get_token() @@ -128,6 +130,7 @@ class V2IdentityPlugin(utils.TestCase): self.stub_auth(json=self.TEST_RESPONSE_DICT) a = v2.Password(self.TEST_URL, username=self.TEST_USER, password=self.TEST_PASS, tenant_id=self.TEST_TENANT_ID) + self.assertIsNone(a.user_id) s = session.Session(a) s.get_token() @@ -141,6 +144,7 @@ class V2IdentityPlugin(utils.TestCase): self.stub_auth(json=self.TEST_RESPONSE_DICT) a = v2.Password(self.TEST_URL, user_id=self.TEST_USER, password=self.TEST_PASS, tenant_id=self.TEST_TENANT_ID) + self.assertIsNone(a.username) s = session.Session(a) s.get_token() |