authentik.blueprints.tests.test_v1_conditional_fields

Test blueprints v1

 1"""Test blueprints v1"""
 2
 3from django.test import TransactionTestCase
 4
 5from authentik.blueprints.v1.importer import Importer
 6from authentik.core.models import Token, User
 7from authentik.core.tests.utils import create_test_admin_user
 8from authentik.endpoints.connectors.agent.models import EnrollmentToken
 9from authentik.lib.generators import generate_id
10from authentik.lib.tests.utils import load_fixture
11
12
13class TestBlueprintsV1ConditionalFields(TransactionTestCase):
14    """Test Blueprints conditional fields"""
15
16    def setUp(self) -> None:
17        user = create_test_admin_user()
18        self.uid = generate_id()
19        import_yaml = load_fixture("fixtures/conditional_fields.yaml", uid=self.uid, user=user.pk)
20
21        importer = Importer.from_string(import_yaml)
22        self.assertTrue(importer.validate()[0])
23        self.assertTrue(importer.apply())
24
25    def test_token(self):
26        """Test token"""
27        token = Token.objects.filter(identifier=f"{self.uid}-token").first()
28        self.assertIsNotNone(token)
29        self.assertEqual(token.key, self.uid)
30
31    def test_user(self):
32        """Test user"""
33        user = User.objects.filter(username=self.uid).first()
34        self.assertIsNotNone(user)
35        self.assertTrue(user.check_password(self.uid))
36
37    def test_user_null(self):
38        """Test user"""
39        user = User.objects.filter(username=f"{self.uid}-no-password").first()
40        self.assertIsNotNone(user)
41        self.assertFalse(user.has_usable_password())
42
43    def test_enrollment_token(self):
44        """Test endpoint enrollment token"""
45        token = EnrollmentToken.objects.filter(name=self.uid).first()
46        self.assertIsNotNone(token)
47        self.assertEqual(token.key, self.uid)
class TestBlueprintsV1ConditionalFields(django.test.testcases.TransactionTestCase):
14class TestBlueprintsV1ConditionalFields(TransactionTestCase):
15    """Test Blueprints conditional fields"""
16
17    def setUp(self) -> None:
18        user = create_test_admin_user()
19        self.uid = generate_id()
20        import_yaml = load_fixture("fixtures/conditional_fields.yaml", uid=self.uid, user=user.pk)
21
22        importer = Importer.from_string(import_yaml)
23        self.assertTrue(importer.validate()[0])
24        self.assertTrue(importer.apply())
25
26    def test_token(self):
27        """Test token"""
28        token = Token.objects.filter(identifier=f"{self.uid}-token").first()
29        self.assertIsNotNone(token)
30        self.assertEqual(token.key, self.uid)
31
32    def test_user(self):
33        """Test user"""
34        user = User.objects.filter(username=self.uid).first()
35        self.assertIsNotNone(user)
36        self.assertTrue(user.check_password(self.uid))
37
38    def test_user_null(self):
39        """Test user"""
40        user = User.objects.filter(username=f"{self.uid}-no-password").first()
41        self.assertIsNotNone(user)
42        self.assertFalse(user.has_usable_password())
43
44    def test_enrollment_token(self):
45        """Test endpoint enrollment token"""
46        token = EnrollmentToken.objects.filter(name=self.uid).first()
47        self.assertIsNotNone(token)
48        self.assertEqual(token.key, self.uid)

Test Blueprints conditional fields

def setUp(self) -> None:
17    def setUp(self) -> None:
18        user = create_test_admin_user()
19        self.uid = generate_id()
20        import_yaml = load_fixture("fixtures/conditional_fields.yaml", uid=self.uid, user=user.pk)
21
22        importer = Importer.from_string(import_yaml)
23        self.assertTrue(importer.validate()[0])
24        self.assertTrue(importer.apply())

Hook method for setting up the test fixture before exercising it.

def test_token(self):
26    def test_token(self):
27        """Test token"""
28        token = Token.objects.filter(identifier=f"{self.uid}-token").first()
29        self.assertIsNotNone(token)
30        self.assertEqual(token.key, self.uid)

Test token

def test_user(self):
32    def test_user(self):
33        """Test user"""
34        user = User.objects.filter(username=self.uid).first()
35        self.assertIsNotNone(user)
36        self.assertTrue(user.check_password(self.uid))

Test user

def test_user_null(self):
38    def test_user_null(self):
39        """Test user"""
40        user = User.objects.filter(username=f"{self.uid}-no-password").first()
41        self.assertIsNotNone(user)
42        self.assertFalse(user.has_usable_password())

Test user

def test_enrollment_token(self):
44    def test_enrollment_token(self):
45        """Test endpoint enrollment token"""
46        token = EnrollmentToken.objects.filter(name=self.uid).first()
47        self.assertIsNotNone(token)
48        self.assertEqual(token.key, self.uid)

Test endpoint enrollment token