authentik.admin.tests.test_api

test admin api

 1"""test admin api"""
 2
 3from json import loads
 4
 5from django.test import TestCase
 6from django.urls import reverse
 7
 8from authentik import authentik_version
 9from authentik.blueprints.tests import reconcile_app
10from authentik.core.models import Group, User
11from authentik.lib.generators import generate_id
12
13
14class TestAdminAPI(TestCase):
15    """test admin api"""
16
17    def setUp(self) -> None:
18        super().setUp()
19        self.user = User.objects.create(username=generate_id())
20        self.group = Group.objects.create(name=generate_id(), is_superuser=True)
21        self.group.users.add(self.user)
22        self.group.save()
23        self.client.force_login(self.user)
24
25    def test_version(self):
26        """Test Version API"""
27        response = self.client.get(reverse("authentik_api:admin_version"))
28        self.assertEqual(response.status_code, 200)
29        body = loads(response.content)
30        self.assertEqual(body["version_current"], authentik_version())
31
32    def test_apps(self):
33        """Test apps API"""
34        response = self.client.get(reverse("authentik_api:apps-list"))
35        self.assertEqual(response.status_code, 200)
36
37    def test_models(self):
38        """Test models API"""
39        response = self.client.get(reverse("authentik_api:models-list"))
40        self.assertEqual(response.status_code, 200)
41
42    @reconcile_app("authentik_outposts")
43    def test_system(self):
44        """Test system API"""
45        response = self.client.get(reverse("authentik_api:admin_system"))
46        self.assertEqual(response.status_code, 200)
class TestAdminAPI(django.test.testcases.TestCase):
15class TestAdminAPI(TestCase):
16    """test admin api"""
17
18    def setUp(self) -> None:
19        super().setUp()
20        self.user = User.objects.create(username=generate_id())
21        self.group = Group.objects.create(name=generate_id(), is_superuser=True)
22        self.group.users.add(self.user)
23        self.group.save()
24        self.client.force_login(self.user)
25
26    def test_version(self):
27        """Test Version API"""
28        response = self.client.get(reverse("authentik_api:admin_version"))
29        self.assertEqual(response.status_code, 200)
30        body = loads(response.content)
31        self.assertEqual(body["version_current"], authentik_version())
32
33    def test_apps(self):
34        """Test apps API"""
35        response = self.client.get(reverse("authentik_api:apps-list"))
36        self.assertEqual(response.status_code, 200)
37
38    def test_models(self):
39        """Test models API"""
40        response = self.client.get(reverse("authentik_api:models-list"))
41        self.assertEqual(response.status_code, 200)
42
43    @reconcile_app("authentik_outposts")
44    def test_system(self):
45        """Test system API"""
46        response = self.client.get(reverse("authentik_api:admin_system"))
47        self.assertEqual(response.status_code, 200)

test admin api

def setUp(self) -> None:
18    def setUp(self) -> None:
19        super().setUp()
20        self.user = User.objects.create(username=generate_id())
21        self.group = Group.objects.create(name=generate_id(), is_superuser=True)
22        self.group.users.add(self.user)
23        self.group.save()
24        self.client.force_login(self.user)

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

def test_version(self):
26    def test_version(self):
27        """Test Version API"""
28        response = self.client.get(reverse("authentik_api:admin_version"))
29        self.assertEqual(response.status_code, 200)
30        body = loads(response.content)
31        self.assertEqual(body["version_current"], authentik_version())

Test Version API

def test_apps(self):
33    def test_apps(self):
34        """Test apps API"""
35        response = self.client.get(reverse("authentik_api:apps-list"))
36        self.assertEqual(response.status_code, 200)

Test apps API

def test_models(self):
38    def test_models(self):
39        """Test models API"""
40        response = self.client.get(reverse("authentik_api:models-list"))
41        self.assertEqual(response.status_code, 200)

Test models API

@reconcile_app('authentik_outposts')
def test_system(self):
43    @reconcile_app("authentik_outposts")
44    def test_system(self):
45        """Test system API"""
46        response = self.client.get(reverse("authentik_api:admin_system"))
47        self.assertEqual(response.status_code, 200)

Test system API