mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	| @@ -64,8 +64,8 @@ class ModelBackend(object): | ||||
|         return False | ||||
|  | ||||
|     def get_user(self, user_id): | ||||
|         UserModel = get_user_model() | ||||
|         try: | ||||
|             UserModel = get_user_model() | ||||
|             return UserModel._default_manager.get(pk=user_id) | ||||
|         except UserModel.DoesNotExist: | ||||
|             return None | ||||
|   | ||||
| @@ -508,3 +508,27 @@ class TypeErrorBackendTest(TestCase): | ||||
|     @override_settings(AUTHENTICATION_BACKENDS=(backend, )) | ||||
|     def test_type_error_raised(self): | ||||
|         self.assertRaises(TypeError, authenticate, username='test', password='test') | ||||
|  | ||||
|  | ||||
| @skipIfCustomUser | ||||
| class ImproperlyConfiguredUserModelTest(TestCase): | ||||
|     """ | ||||
|     Tests that an exception from within get_user_model is propagated and doesn't | ||||
|     raise an UnboundLocalError. | ||||
|  | ||||
|     Regression test for ticket #21439 | ||||
|     """ | ||||
|     def setUp(self): | ||||
|         self.user1 = User.objects.create_user('test', 'test@example.com', 'test') | ||||
|         self.client.login( | ||||
|             username='test', | ||||
|             password='test' | ||||
|         ) | ||||
|  | ||||
|     @override_settings(AUTH_USER_MODEL='thismodel.doesntexist') | ||||
|     def test_does_not_shadow_exception(self): | ||||
|         # Prepare a request object | ||||
|         request = HttpRequest() | ||||
|         request.session = self.client.session | ||||
|  | ||||
|         self.assertRaises(ImproperlyConfigured, get_user, request) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user