From 3cce41e2804ca93897144b84418d523d9954c660 Mon Sep 17 00:00:00 2001 From: termie Date: Mon, 23 Jan 2012 14:53:37 -0800 Subject: [PATCH] raise and catch correct authenticate error --- keystone/service.py | 13 ++++++++----- tests/test_keystoneclient.py | 3 +-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/keystone/service.py b/keystone/service.py index 186f1cf763..283f04a2f6 100644 --- a/keystone/service.py +++ b/keystone/service.py @@ -149,11 +149,14 @@ class TokenController(wsgi.Application): else: tenant_id = auth.get('tenantId', None) - (user_ref, tenant_ref, metadata_ref) = \ - self.identity_api.authenticate(context=context, - user_id=user_id, - password=password, - tenant_id=tenant_id) + try: + (user_ref, tenant_ref, metadata_ref) = \ + self.identity_api.authenticate(context=context, + user_id=user_id, + password=password, + tenant_id=tenant_id) + except AssertionError as e: + raise webob.exc.HTTPForbidden(e.message) token_ref = self.token_api.create_token( context, token_id, dict(expires='', id=token_id, diff --git a/tests/test_keystoneclient.py b/tests/test_keystoneclient.py index e84afb88d1..16e8fbf8dd 100644 --- a/tests/test_keystoneclient.py +++ b/tests/test_keystoneclient.py @@ -212,8 +212,7 @@ class KcMasterTestCase(CompatTestCase): user = client.users.get(user.id) self.assertFalse(user.enabled) - # TODO(ja): test that you can't login - self.assertRaises(client_exceptions.Forbidden, + self.assertRaises(client_exceptions.AuthorizationFailure, self._client, username=test_username, password='password')