Coverage for src/mesh/tests/models/test_user_models.py: 100%
36 statements
« prev ^ index » next coverage.py v7.9.0, created at 2026-02-04 09:42 +0000
« prev ^ index » next coverage.py v7.9.0, created at 2026-02-04 09:42 +0000
1from datetime import timedelta
3from django.test import override_settings
5from ...models.factories import UserFactory
6from ...models.user_models import User, UserToken
7from ..base_test_case import BaseTestCase
10class UserTestCase(BaseTestCase):
11 used_models = [User]
13 def test_token_authentication_allowed(self):
14 base_user = UserFactory.create()
15 self.assertTrue(base_user.is_token_authentication_allowed)
17 staff_user = UserFactory.create(is_staff=True)
18 self.assertFalse(staff_user.is_token_authentication_allowed)
20 admin_user = UserFactory.create(is_staff=True)
21 self.assertFalse(admin_user.is_token_authentication_allowed)
23 journal_manager_user = UserFactory.create(is_staff=True)
24 self.assertFalse(journal_manager_user.is_token_authentication_allowed)
27class UserTokenTestCase(BaseTestCase):
28 used_models = [UserToken, User]
30 def setUp(self):
31 super().setUp()
32 self.user_base = UserFactory.create()
34 @override_settings(MESH_USER_TOKEN_EXPIRATION_DAYS=0)
35 def test_expiration_date(self):
36 token = UserToken.get_token(self.user_base)
37 self.assertIsNotNone(token.date_refreshed)
38 self.assertFalse(token.is_expired)
40 token.date_refreshed -= timedelta(days=1)
41 self.assertTrue(token.is_expired)
43 def test_get_token(self):
44 self.assertFalse(UserToken.objects.all().exists())
45 token = UserToken.get_token(self.user_base)
47 self.assertEqual(len(UserToken.objects.all()), 1)
48 self.assertEqual(token.user.pk, self.user_base.pk)
50 same_token = UserToken.get_token(self.user_base)
51 self.assertEqual(same_token.pk, token.pk)
52 self.assertEqual(len(UserToken.objects.all()), 1)