diff options
-rw-r--r-- | keystoneclient/tests/unit/v3/test_users.py | 22 | ||||
-rw-r--r-- | keystoneclient/v3/users.py | 3 |
2 files changed, 23 insertions, 2 deletions
diff --git a/keystoneclient/tests/unit/v3/test_users.py b/keystoneclient/tests/unit/v3/test_users.py index 4619b66..6a3b31f 100644 --- a/keystoneclient/tests/unit/v3/test_users.py +++ b/keystoneclient/tests/unit/v3/test_users.py @@ -12,6 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. +import mock import uuid from keystoneclient import exceptions @@ -246,6 +247,27 @@ class UserTests(utils.TestCase, utils.CrudTests): self.assertNotIn(old_password, self.logger.output) self.assertNotIn(new_password, self.logger.output) + def test_update_password_with_no_hardcoded_endpoint_filter(self): + # test to ensure the 'endpoint_filter' parameter is not being + # passed from the manager. Endpoint filtering should be done at + # the Session, not the individual managers. + old_password = uuid.uuid4().hex + new_password = uuid.uuid4().hex + expected_params = {'user': {'password': new_password, + 'original_password': old_password}} + user_password_update_path = '/users/%s/password' % self.TEST_USER_ID + + self.client.user_id = self.TEST_USER_ID + # NOTE(gyee): user manager subclass keystoneclient.base.Manager + # and utilize the _update() method in the base class to interface + # with the client session to perform the update. In the case, we + # just need to make sure the 'endpoint_filter' parameter is not + # there. + with mock.patch('keystoneclient.base.Manager._update') as m: + self.manager.update_password(old_password, new_password) + m.assert_called_with(user_password_update_path, expected_params, + method='POST', log=False) + def test_update_password_with_bad_inputs(self): old_password = uuid.uuid4().hex new_password = uuid.uuid4().hex diff --git a/keystoneclient/v3/users.py b/keystoneclient/v3/users.py index 2e20ede..d8f299c 100644 --- a/keystoneclient/v3/users.py +++ b/keystoneclient/v3/users.py @@ -158,8 +158,7 @@ class UserManager(base.CrudManager): base_url = '/users/%s/password' % self.api.user_id - return self._update(base_url, params, method='POST', log=False, - endpoint_filter={'interface': 'public'}) + return self._update(base_url, params, method='POST', log=False) def add_to_group(self, user, group): self._require_user_and_group(user, group) |