|
6 | 6 | from django.db.models import BigAutoField
|
7 | 7 | from django.test import TestCase
|
8 | 8 | from django.utils import timezone
|
9 |
| - |
10 | 9 | from rest_framework_simplejwt.exceptions import TokenError
|
11 | 10 | from rest_framework_simplejwt.serializers import TokenVerifySerializer
|
12 | 11 | from rest_framework_simplejwt.settings import api_settings
|
@@ -160,6 +159,35 @@ def test_outstanding_token_and_blacklisted_token_user(self):
|
160 | 159 | outstanding_token = OutstandingToken.objects.get(token=token)
|
161 | 160 | self.assertEqual(outstanding_token.user, self.user)
|
162 | 161 |
|
| 162 | + @override_api_settings(USER_ID_FIELD="email", USER_ID_CLAIM="email") |
| 163 | + def test_outstanding_token_and_blacklisted_token_created_at_with_modified_user_id_field( |
| 164 | + self, |
| 165 | + ): |
| 166 | + token = RefreshToken.for_user(self.user) |
| 167 | + |
| 168 | + token.blacklist() |
| 169 | + outstanding_token = OutstandingToken.objects.get(token=token) |
| 170 | + self.assertEqual(outstanding_token.created_at, token.current_time) |
| 171 | + |
| 172 | + @override_api_settings(USER_ID_FIELD="email", USER_ID_CLAIM="email") |
| 173 | + def test_outstanding_token_and_blacklisted_token_user_with_modifed_user_id_field( |
| 174 | + self, |
| 175 | + ): |
| 176 | + token = RefreshToken.for_user(self.user) |
| 177 | + |
| 178 | + token.blacklist() |
| 179 | + outstanding_token = OutstandingToken.objects.get(token=token) |
| 180 | + self.assertEqual(outstanding_token.user, self.user) |
| 181 | + |
| 182 | + |
| 183 | + @override_api_settings(USER_ID_FIELD="email", USER_ID_CLAIM="email") |
| 184 | + def test_outstanding_token_with_deleted_user_and_modifed_user_id_field(self): |
| 185 | + self.assertFalse(BlacklistedToken.objects.exists()) |
| 186 | + token = RefreshToken.for_user(self.user) |
| 187 | + self.user.delete() |
| 188 | + token.blacklist() |
| 189 | + self.assertTrue(BlacklistedToken.objects.count(), 1) |
| 190 | + |
163 | 191 |
|
164 | 192 | class TestTokenBlacklistFlushExpiredTokens(TestCase):
|
165 | 193 | def setUp(self):
|
|
0 commit comments