authentik.core.tests.test_devices_api

Test Devices API

 1"""Test Devices API"""
 2
 3from json import loads
 4
 5from django.urls import reverse
 6from rest_framework.test import APITestCase
 7
 8from authentik.core.tests.utils import create_test_admin_user, create_test_user
 9
10
11class TestDevicesAPI(APITestCase):
12    """Test applications API"""
13
14    def setUp(self) -> None:
15        self.admin = create_test_admin_user()
16        self.user1 = create_test_user()
17        self.device1 = self.user1.staticdevice_set.create()
18        self.user2 = create_test_user()
19        self.device2 = self.user2.staticdevice_set.create()
20
21    def test_user_api(self):
22        """Test user API"""
23        self.client.force_login(self.user1)
24        response = self.client.get(
25            reverse(
26                "authentik_api:device-list",
27            )
28        )
29        self.assertEqual(response.status_code, 200)
30        body = loads(response.content.decode())
31        self.assertEqual(len(body), 1)
32        self.assertEqual(body[0]["pk"], str(self.device1.pk))
33
34    def test_user_api_as_admin(self):
35        """Test user API"""
36        self.client.force_login(self.admin)
37        response = self.client.get(
38            reverse(
39                "authentik_api:device-list",
40            )
41        )
42        self.assertEqual(response.status_code, 200)
43        body = loads(response.content.decode())
44        self.assertEqual(len(body), 0)
45
46    def test_admin_api(self):
47        """Test admin API"""
48        self.client.force_login(self.admin)
49        response = self.client.get(
50            reverse(
51                "authentik_api:admin-device-list",
52            )
53        )
54        self.assertEqual(response.status_code, 200)
55        body = loads(response.content.decode())
56        self.assertEqual(len(body), 2)
57        self.assertEqual(
58            {body[0]["pk"], body[1]["pk"]}, {str(self.device1.pk), str(self.device2.pk)}
59        )
class TestDevicesAPI(rest_framework.test.APITestCase):
12class TestDevicesAPI(APITestCase):
13    """Test applications API"""
14
15    def setUp(self) -> None:
16        self.admin = create_test_admin_user()
17        self.user1 = create_test_user()
18        self.device1 = self.user1.staticdevice_set.create()
19        self.user2 = create_test_user()
20        self.device2 = self.user2.staticdevice_set.create()
21
22    def test_user_api(self):
23        """Test user API"""
24        self.client.force_login(self.user1)
25        response = self.client.get(
26            reverse(
27                "authentik_api:device-list",
28            )
29        )
30        self.assertEqual(response.status_code, 200)
31        body = loads(response.content.decode())
32        self.assertEqual(len(body), 1)
33        self.assertEqual(body[0]["pk"], str(self.device1.pk))
34
35    def test_user_api_as_admin(self):
36        """Test user API"""
37        self.client.force_login(self.admin)
38        response = self.client.get(
39            reverse(
40                "authentik_api:device-list",
41            )
42        )
43        self.assertEqual(response.status_code, 200)
44        body = loads(response.content.decode())
45        self.assertEqual(len(body), 0)
46
47    def test_admin_api(self):
48        """Test admin API"""
49        self.client.force_login(self.admin)
50        response = self.client.get(
51            reverse(
52                "authentik_api:admin-device-list",
53            )
54        )
55        self.assertEqual(response.status_code, 200)
56        body = loads(response.content.decode())
57        self.assertEqual(len(body), 2)
58        self.assertEqual(
59            {body[0]["pk"], body[1]["pk"]}, {str(self.device1.pk), str(self.device2.pk)}
60        )

Test applications API

def setUp(self) -> None:
15    def setUp(self) -> None:
16        self.admin = create_test_admin_user()
17        self.user1 = create_test_user()
18        self.device1 = self.user1.staticdevice_set.create()
19        self.user2 = create_test_user()
20        self.device2 = self.user2.staticdevice_set.create()

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

def test_user_api(self):
22    def test_user_api(self):
23        """Test user API"""
24        self.client.force_login(self.user1)
25        response = self.client.get(
26            reverse(
27                "authentik_api:device-list",
28            )
29        )
30        self.assertEqual(response.status_code, 200)
31        body = loads(response.content.decode())
32        self.assertEqual(len(body), 1)
33        self.assertEqual(body[0]["pk"], str(self.device1.pk))

Test user API

def test_user_api_as_admin(self):
35    def test_user_api_as_admin(self):
36        """Test user API"""
37        self.client.force_login(self.admin)
38        response = self.client.get(
39            reverse(
40                "authentik_api:device-list",
41            )
42        )
43        self.assertEqual(response.status_code, 200)
44        body = loads(response.content.decode())
45        self.assertEqual(len(body), 0)

Test user API

def test_admin_api(self):
47    def test_admin_api(self):
48        """Test admin API"""
49        self.client.force_login(self.admin)
50        response = self.client.get(
51            reverse(
52                "authentik_api:admin-device-list",
53            )
54        )
55        self.assertEqual(response.status_code, 200)
56        body = loads(response.content.decode())
57        self.assertEqual(len(body), 2)
58        self.assertEqual(
59            {body[0]["pk"], body[1]["pk"]}, {str(self.device1.pk), str(self.device2.pk)}
60        )

Test admin API