authentik.core.tests.test_tasks
Test tasks
1"""Test tasks""" 2 3from time import mktime 4 5from django.utils.timezone import now 6from guardian.shortcuts import get_anonymous_user 7from rest_framework.test import APITestCase 8 9from authentik.core.models import ( 10 USER_ATTRIBUTE_EXPIRES, 11 USER_ATTRIBUTE_GENERATED, 12 Token, 13 TokenIntents, 14 User, 15) 16from authentik.core.tasks import ( 17 clean_expired_models, 18 clean_temporary_users, 19) 20from authentik.core.tests.utils import create_test_admin_user 21from authentik.lib.generators import generate_id 22 23 24class TestTasks(APITestCase): 25 """Test token API""" 26 27 def setUp(self) -> None: 28 super().setUp() 29 self.user = User.objects.create(username="testuser") 30 self.admin = create_test_admin_user() 31 self.client.force_login(self.user) 32 33 def test_token_expire(self): 34 """Test Token expire task""" 35 token: Token = Token.objects.create( 36 expires=now(), user=get_anonymous_user(), intent=TokenIntents.INTENT_API 37 ) 38 key = token.key 39 clean_expired_models.send() 40 token.refresh_from_db() 41 self.assertNotEqual(key, token.key) 42 43 def test_clean_temporary_users(self): 44 """Test clean_temporary_users task""" 45 username = generate_id 46 User.objects.create( 47 username=username, 48 attributes={ 49 USER_ATTRIBUTE_GENERATED: True, 50 USER_ATTRIBUTE_EXPIRES: mktime(now().timetuple()), 51 }, 52 ) 53 clean_temporary_users.send() 54 self.assertFalse(User.objects.filter(username=username))
class
TestTasks(rest_framework.test.APITestCase):
25class TestTasks(APITestCase): 26 """Test token API""" 27 28 def setUp(self) -> None: 29 super().setUp() 30 self.user = User.objects.create(username="testuser") 31 self.admin = create_test_admin_user() 32 self.client.force_login(self.user) 33 34 def test_token_expire(self): 35 """Test Token expire task""" 36 token: Token = Token.objects.create( 37 expires=now(), user=get_anonymous_user(), intent=TokenIntents.INTENT_API 38 ) 39 key = token.key 40 clean_expired_models.send() 41 token.refresh_from_db() 42 self.assertNotEqual(key, token.key) 43 44 def test_clean_temporary_users(self): 45 """Test clean_temporary_users task""" 46 username = generate_id 47 User.objects.create( 48 username=username, 49 attributes={ 50 USER_ATTRIBUTE_GENERATED: True, 51 USER_ATTRIBUTE_EXPIRES: mktime(now().timetuple()), 52 }, 53 ) 54 clean_temporary_users.send() 55 self.assertFalse(User.objects.filter(username=username))
Test token API
def
setUp(self) -> None:
28 def setUp(self) -> None: 29 super().setUp() 30 self.user = User.objects.create(username="testuser") 31 self.admin = create_test_admin_user() 32 self.client.force_login(self.user)
Hook method for setting up the test fixture before exercising it.
def
test_token_expire(self):
34 def test_token_expire(self): 35 """Test Token expire task""" 36 token: Token = Token.objects.create( 37 expires=now(), user=get_anonymous_user(), intent=TokenIntents.INTENT_API 38 ) 39 key = token.key 40 clean_expired_models.send() 41 token.refresh_from_db() 42 self.assertNotEqual(key, token.key)
Test Token expire task
def
test_clean_temporary_users(self):
44 def test_clean_temporary_users(self): 45 """Test clean_temporary_users task""" 46 username = generate_id 47 User.objects.create( 48 username=username, 49 attributes={ 50 USER_ATTRIBUTE_GENERATED: True, 51 USER_ATTRIBUTE_EXPIRES: mktime(now().timetuple()), 52 }, 53 ) 54 clean_temporary_users.send() 55 self.assertFalse(User.objects.filter(username=username))
Test clean_temporary_users task