summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMikhail Porokhovnichenko <marazmiki@gmail.com>2018-02-17 21:00:12 +0700
committerTim Graham <timograham@gmail.com>2018-02-21 10:36:31 -0500
commit14e34dcf8cb935454f4ce02402949d8af204fdab (patch)
tree0776e862d9a46fca4db5524b3cdbab1c0fa49bdc /tests
parent5c4c87e55c096f093a2323bf05b57cc06d93a257 (diff)
Fixed #29132 -- Avoided connecting update_last_login() handler if User.last_login isn't a field.
Diffstat (limited to 'tests')
-rw-r--r--tests/auth_tests/models/__init__.py3
-rw-r--r--tests/auth_tests/models/with_last_login_attr.py5
-rw-r--r--tests/auth_tests/test_signals.py8
3 files changed, 14 insertions, 2 deletions
diff --git a/tests/auth_tests/models/__init__.py b/tests/auth_tests/models/__init__.py
index af58cb7118..e5e38a1e2e 100644
--- a/tests/auth_tests/models/__init__.py
+++ b/tests/auth_tests/models/__init__.py
@@ -8,10 +8,11 @@ from .minimal import MinimalUser
from .uuid_pk import UUIDUser
from .with_foreign_key import CustomUserWithFK, Email
from .with_integer_username import IntegerUsernameUser
+from .with_last_login_attr import UserWithDisabledLastLoginField
__all__ = (
'CustomUser', 'CustomUserWithoutIsActiveField', 'CustomPermissionsUser',
'CustomUserWithFK', 'Email', 'ExtensionUser', 'IsActiveTestUser1',
'MinimalUser', 'UUIDUser', 'CustomUserNonUniqueUsername',
- 'IntegerUsernameUser',
+ 'IntegerUsernameUser', 'UserWithDisabledLastLoginField',
)
diff --git a/tests/auth_tests/models/with_last_login_attr.py b/tests/auth_tests/models/with_last_login_attr.py
new file mode 100644
index 0000000000..d83adb1452
--- /dev/null
+++ b/tests/auth_tests/models/with_last_login_attr.py
@@ -0,0 +1,5 @@
+from django.contrib.auth.base_user import AbstractBaseUser
+
+
+class UserWithDisabledLastLoginField(AbstractBaseUser):
+ last_login = None
diff --git a/tests/auth_tests/test_signals.py b/tests/auth_tests/test_signals.py
index ab2b792de9..93b6c82366 100644
--- a/tests/auth_tests/test_signals.py
+++ b/tests/auth_tests/test_signals.py
@@ -5,7 +5,7 @@ from django.core.exceptions import FieldDoesNotExist
from django.test import TestCase, override_settings
from django.test.client import RequestFactory
-from .models import MinimalUser
+from .models import MinimalUser, UserWithDisabledLastLoginField
@override_settings(ROOT_URLCONF='auth_tests.urls')
@@ -101,6 +101,12 @@ class SignalTestCase(TestCase):
apps.get_app_config('auth').ready()
self.assertEqual(signals.user_logged_in.receivers, [])
+ # last_login is a property whose value is None.
+ self.assertIsNone(UserWithDisabledLastLoginField().last_login)
+ with self.settings(AUTH_USER_MODEL='auth_tests.UserWithDisabledLastLoginField'):
+ apps.get_app_config('auth').ready()
+ self.assertEqual(signals.user_logged_in.receivers, [])
+
with self.settings(AUTH_USER_MODEL='auth.User'):
apps.get_app_config('auth').ready()
self.assertEqual(len(signals.user_logged_in.receivers), 1)