authentik.tenants.tests.test_api
Test Tenant API
1"""Test Tenant API""" 2 3from json import loads 4 5from django.urls import reverse 6 7from authentik.lib.config import CONFIG 8from authentik.lib.generators import generate_id 9from authentik.tenants.tests.utils import TenantAPITestCase 10 11TENANTS_API_KEY = generate_id() 12HEADERS = {"Authorization": f"Bearer {TENANTS_API_KEY}"} 13 14 15class TestAPI(TenantAPITestCase): 16 """Test api view""" 17 18 @CONFIG.patch("outposts.disable_embedded_outpost", True) 19 @CONFIG.patch("tenants.enabled", True) 20 @CONFIG.patch("tenants.api_key", TENANTS_API_KEY) 21 def test_tenant_create_delete(self): 22 """Test Tenant creation API Endpoint""" 23 response = self.client.post( 24 reverse( 25 "authentik_api:tenant-list", 26 ), 27 data={"name": generate_id(), "schema_name": "t_" + generate_id(length=63 - 2).lower()}, 28 headers=HEADERS, 29 ) 30 self.assertEqual(response.status_code, 201) 31 body = loads(response.content.decode()) 32 33 self.assertSchemaExists(body["schema_name"]) 34 35 response = self.client.delete( 36 reverse( 37 "authentik_api:tenant-detail", 38 kwargs={"pk": body["tenant_uuid"]}, 39 ), 40 headers=HEADERS, 41 ) 42 self.assertEqual(response.status_code, 204) 43 self.assertSchemaDoesntExist(body["schema_name"]) 44 45 @CONFIG.patch("outposts.disable_embedded_outpost", True) 46 @CONFIG.patch("tenants.enabled", True) 47 @CONFIG.patch("tenants.api_key", TENANTS_API_KEY) 48 def test_unauthenticated(self): 49 """Test Tenant creation API Endpoint""" 50 response = self.client.get( 51 reverse( 52 "authentik_api:tenant-list", 53 ), 54 ) 55 self.assertEqual(response.status_code, 403) 56 57 @CONFIG.patch("outposts.disable_embedded_outpost", True) 58 @CONFIG.patch("tenants.enabled", True) 59 @CONFIG.patch("tenants.api_key", "") 60 def test_no_api_key_configured(self): 61 """Test Tenant creation API Endpoint""" 62 response = self.client.get( 63 reverse( 64 "authentik_api:tenant-list", 65 ), 66 ) 67 self.assertEqual(response.status_code, 403)
TENANTS_API_KEY =
'jNAlX0ZB4xXY5UjgbIqicuEvZjYmvLASzhCJSYWY'
HEADERS =
{'Authorization': 'Bearer jNAlX0ZB4xXY5UjgbIqicuEvZjYmvLASzhCJSYWY'}
16class TestAPI(TenantAPITestCase): 17 """Test api view""" 18 19 @CONFIG.patch("outposts.disable_embedded_outpost", True) 20 @CONFIG.patch("tenants.enabled", True) 21 @CONFIG.patch("tenants.api_key", TENANTS_API_KEY) 22 def test_tenant_create_delete(self): 23 """Test Tenant creation API Endpoint""" 24 response = self.client.post( 25 reverse( 26 "authentik_api:tenant-list", 27 ), 28 data={"name": generate_id(), "schema_name": "t_" + generate_id(length=63 - 2).lower()}, 29 headers=HEADERS, 30 ) 31 self.assertEqual(response.status_code, 201) 32 body = loads(response.content.decode()) 33 34 self.assertSchemaExists(body["schema_name"]) 35 36 response = self.client.delete( 37 reverse( 38 "authentik_api:tenant-detail", 39 kwargs={"pk": body["tenant_uuid"]}, 40 ), 41 headers=HEADERS, 42 ) 43 self.assertEqual(response.status_code, 204) 44 self.assertSchemaDoesntExist(body["schema_name"]) 45 46 @CONFIG.patch("outposts.disable_embedded_outpost", True) 47 @CONFIG.patch("tenants.enabled", True) 48 @CONFIG.patch("tenants.api_key", TENANTS_API_KEY) 49 def test_unauthenticated(self): 50 """Test Tenant creation API Endpoint""" 51 response = self.client.get( 52 reverse( 53 "authentik_api:tenant-list", 54 ), 55 ) 56 self.assertEqual(response.status_code, 403) 57 58 @CONFIG.patch("outposts.disable_embedded_outpost", True) 59 @CONFIG.patch("tenants.enabled", True) 60 @CONFIG.patch("tenants.api_key", "") 61 def test_no_api_key_configured(self): 62 """Test Tenant creation API Endpoint""" 63 response = self.client.get( 64 reverse( 65 "authentik_api:tenant-list", 66 ), 67 ) 68 self.assertEqual(response.status_code, 403)
Test api view
@CONFIG.patch('outposts.disable_embedded_outpost', True)
@CONFIG.patch('tenants.enabled', True)
@CONFIG.patch('tenants.api_key', TENANTS_API_KEY)
def
test_tenant_create_delete(self):
19 @CONFIG.patch("outposts.disable_embedded_outpost", True) 20 @CONFIG.patch("tenants.enabled", True) 21 @CONFIG.patch("tenants.api_key", TENANTS_API_KEY) 22 def test_tenant_create_delete(self): 23 """Test Tenant creation API Endpoint""" 24 response = self.client.post( 25 reverse( 26 "authentik_api:tenant-list", 27 ), 28 data={"name": generate_id(), "schema_name": "t_" + generate_id(length=63 - 2).lower()}, 29 headers=HEADERS, 30 ) 31 self.assertEqual(response.status_code, 201) 32 body = loads(response.content.decode()) 33 34 self.assertSchemaExists(body["schema_name"]) 35 36 response = self.client.delete( 37 reverse( 38 "authentik_api:tenant-detail", 39 kwargs={"pk": body["tenant_uuid"]}, 40 ), 41 headers=HEADERS, 42 ) 43 self.assertEqual(response.status_code, 204) 44 self.assertSchemaDoesntExist(body["schema_name"])
Test Tenant creation API Endpoint
@CONFIG.patch('outposts.disable_embedded_outpost', True)
@CONFIG.patch('tenants.enabled', True)
@CONFIG.patch('tenants.api_key', TENANTS_API_KEY)
def
test_unauthenticated(self):
46 @CONFIG.patch("outposts.disable_embedded_outpost", True) 47 @CONFIG.patch("tenants.enabled", True) 48 @CONFIG.patch("tenants.api_key", TENANTS_API_KEY) 49 def test_unauthenticated(self): 50 """Test Tenant creation API Endpoint""" 51 response = self.client.get( 52 reverse( 53 "authentik_api:tenant-list", 54 ), 55 ) 56 self.assertEqual(response.status_code, 403)
Test Tenant creation API Endpoint
@CONFIG.patch('outposts.disable_embedded_outpost', True)
@CONFIG.patch('tenants.enabled', True)
@CONFIG.patch('tenants.api_key', '')
def
test_no_api_key_configured(self):
58 @CONFIG.patch("outposts.disable_embedded_outpost", True) 59 @CONFIG.patch("tenants.enabled", True) 60 @CONFIG.patch("tenants.api_key", "") 61 def test_no_api_key_configured(self): 62 """Test Tenant creation API Endpoint""" 63 response = self.client.get( 64 reverse( 65 "authentik_api:tenant-list", 66 ), 67 ) 68 self.assertEqual(response.status_code, 403)
Test Tenant creation API Endpoint