From fc8f097117af7ada616fad20ae5b417fcf740413 Mon Sep 17 00:00:00 2001 From: Ben Demboski Date: Fri, 5 Aug 2016 17:18:12 -0700 Subject: Fixed #27027 -- Restored Client.force_login() defaulting to the first auth backend. --- tests/test_client/tests.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tests') diff --git a/tests/test_client/tests.py b/tests/test_client/tests.py index 497df1591c..d017fa42b1 100644 --- a/tests/test_client/tests.py +++ b/tests/test_client/tests.py @@ -532,12 +532,30 @@ class ClientTest(TestCase): # Log in self.client.force_login(self.u1, backend='test_client.auth_backends.TestClientBackend') + self.assertEqual(self.u1.backend, 'test_client.auth_backends.TestClientBackend') # Request a page that requires a login response = self.client.get('/login_protected_view/') self.assertEqual(response.status_code, 200) self.assertEqual(response.context['user'].username, 'testclient') + @override_settings( + AUTHENTICATION_BACKENDS=[ + 'django.contrib.auth.backends.ModelBackend', + 'test_client.auth_backends.TestClientBackend', + ], + ) + def test_force_login_without_backend(self): + """ + force_login() without passing a backend and with multiple backends + configured should automatically use the first backend. + """ + self.client.force_login(self.u1) + response = self.client.get('/login_protected_view/') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['user'].username, 'testclient') + self.assertEqual(self.u1.backend, 'django.contrib.auth.backends.ModelBackend') + @override_settings(SESSION_ENGINE="django.contrib.sessions.backends.signed_cookies") def test_logout_cookie_sessions(self): self.test_logout() -- cgit v1.3