authentik.tenants.tests.test_local_settings
Test Settings API
1"""Test Settings API""" 2 3from django.urls import reverse 4from rest_framework.test import APITestCase 5 6from authentik.core.tests.utils import create_test_admin_user 7from authentik.tenants.flags import Flag 8 9 10class TestLocalSettingsAPI(APITestCase): 11 """Test settings API""" 12 13 def setUp(self): 14 super().setUp() 15 self.local_admin = create_test_admin_user() 16 17 def test_settings_flags(self): 18 """Test settings API""" 19 20 class TestFlag(Flag[bool], key="tenants_test_flag"): 21 22 default = False 23 visibility = "public" 24 25 self.client.force_login(self.local_admin) 26 response = self.client.patch( 27 reverse("authentik_api:tenant_settings"), 28 data={ 29 "flags": {"tenants_test_flag": True}, 30 }, 31 ) 32 self.assertEqual(response.status_code, 200) 33 34 def test_settings_flags_incorrect(self): 35 """Test settings API""" 36 37 class TestFlag(Flag[bool], key="tenants_test_flag"): 38 39 default = False 40 visibility = "public" 41 42 self.client.force_login(self.local_admin) 43 response = self.client.patch( 44 reverse("authentik_api:tenant_settings"), 45 data={ 46 "flags": {"tenants_test_flag": 123}, 47 }, 48 ) 49 self.assertEqual(response.status_code, 400) 50 self.assertJSONEqual( 51 response.content, 52 {"flags": ["Value for flag tenants_test_flag needs to be of type bool."]}, 53 )
class
TestLocalSettingsAPI(rest_framework.test.APITestCase):
11class TestLocalSettingsAPI(APITestCase): 12 """Test settings API""" 13 14 def setUp(self): 15 super().setUp() 16 self.local_admin = create_test_admin_user() 17 18 def test_settings_flags(self): 19 """Test settings API""" 20 21 class TestFlag(Flag[bool], key="tenants_test_flag"): 22 23 default = False 24 visibility = "public" 25 26 self.client.force_login(self.local_admin) 27 response = self.client.patch( 28 reverse("authentik_api:tenant_settings"), 29 data={ 30 "flags": {"tenants_test_flag": True}, 31 }, 32 ) 33 self.assertEqual(response.status_code, 200) 34 35 def test_settings_flags_incorrect(self): 36 """Test settings API""" 37 38 class TestFlag(Flag[bool], key="tenants_test_flag"): 39 40 default = False 41 visibility = "public" 42 43 self.client.force_login(self.local_admin) 44 response = self.client.patch( 45 reverse("authentik_api:tenant_settings"), 46 data={ 47 "flags": {"tenants_test_flag": 123}, 48 }, 49 ) 50 self.assertEqual(response.status_code, 400) 51 self.assertJSONEqual( 52 response.content, 53 {"flags": ["Value for flag tenants_test_flag needs to be of type bool."]}, 54 )
Test settings API
def
test_settings_flags(self):
18 def test_settings_flags(self): 19 """Test settings API""" 20 21 class TestFlag(Flag[bool], key="tenants_test_flag"): 22 23 default = False 24 visibility = "public" 25 26 self.client.force_login(self.local_admin) 27 response = self.client.patch( 28 reverse("authentik_api:tenant_settings"), 29 data={ 30 "flags": {"tenants_test_flag": True}, 31 }, 32 ) 33 self.assertEqual(response.status_code, 200)
Test settings API
def
test_settings_flags_incorrect(self):
35 def test_settings_flags_incorrect(self): 36 """Test settings API""" 37 38 class TestFlag(Flag[bool], key="tenants_test_flag"): 39 40 default = False 41 visibility = "public" 42 43 self.client.force_login(self.local_admin) 44 response = self.client.patch( 45 reverse("authentik_api:tenant_settings"), 46 data={ 47 "flags": {"tenants_test_flag": 123}, 48 }, 49 ) 50 self.assertEqual(response.status_code, 400) 51 self.assertJSONEqual( 52 response.content, 53 {"flags": ["Value for flag tenants_test_flag needs to be of type bool."]}, 54 )
Test settings API