diff --git a/keystone/auth/controllers.py b/keystone/auth/controllers.py index 67a86442c1..0cb070bc01 100644 --- a/keystone/auth/controllers.py +++ b/keystone/auth/controllers.py @@ -237,7 +237,7 @@ class AuthInfo(object): """ if method not in self.auth['identity']['methods']: - raise exception.ValidationError(attribute=method_name, + raise exception.ValidationError(attribute=method, target='identity') return self.auth['identity'][method] diff --git a/tests/test_v3_auth.py b/tests/test_v3_auth.py index a292af2b48..997165eccf 100644 --- a/tests/test_v3_auth.py +++ b/tests/test_v3_auth.py @@ -83,6 +83,18 @@ class TestAuthInfo(test_v3.RestfulTestCase): None, auth_data) + def test_get_method_data_invalid_method(self): + auth_data = self.build_authentication_request( + user_id='test', + password='test')['auth'] + context = None + auth_info = auth.controllers.AuthInfo(context, auth_data) + + method_name = uuid.uuid4().hex + self.assertRaises(exception.ValidationError, + auth_info.get_method_data, + method_name) + class TestTokenAPIs(test_v3.RestfulTestCase): def setUp(self):