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