authentik.blueprints.tests.test_v1_rbac
Test blueprints v1
1"""Test blueprints v1""" 2 3from django.test import TransactionTestCase 4from guardian.shortcuts import get_perms 5 6from authentik.blueprints.v1.importer import Importer 7from authentik.core.models import User 8from authentik.flows.models import Flow 9from authentik.lib.generators import generate_id 10from authentik.lib.tests.utils import load_fixture 11from authentik.rbac.models import Role 12 13 14class TestBlueprintsV1RBAC(TransactionTestCase): 15 """Test Blueprints rbac attribute""" 16 17 def test_user_permission(self): 18 """Test permissions""" 19 uid = generate_id() 20 import_yaml = load_fixture("fixtures/rbac_user.yaml", id=uid) 21 22 importer = Importer.from_string(import_yaml) 23 self.assertTrue(importer.validate()[0]) 24 self.assertTrue(importer.apply()) 25 user = User.objects.filter(username=uid).first() 26 self.assertIsNotNone(user) 27 self.assertTrue(user.has_perms(["authentik_blueprints.view_blueprintinstance"])) 28 29 def test_role_permission(self): 30 """Test permissions""" 31 uid = generate_id() 32 import_yaml = load_fixture("fixtures/rbac_role.yaml", id=uid) 33 34 importer = Importer.from_string(import_yaml) 35 self.assertTrue(importer.validate()[0]) 36 self.assertTrue(importer.apply()) 37 role = Role.objects.filter(name=uid).first() 38 self.assertIsNotNone(role) 39 self.assertEqual(get_perms(role), {"authentik_blueprints.view_blueprintinstance"}) 40 41 def test_object_permission(self): 42 """Test permissions""" 43 uid = generate_id() 44 import_yaml = load_fixture("fixtures/rbac_object.yaml", id=uid) 45 46 importer = Importer.from_string(import_yaml) 47 self.assertTrue(importer.validate()[0]) 48 self.assertTrue(importer.apply()) 49 flow = Flow.objects.filter(slug=uid).first() 50 user = User.objects.filter(username=uid).first() 51 role = Role.objects.filter(name=uid).first() 52 self.assertIsNotNone(flow) 53 self.assertEqual(get_perms(user, flow), {"authentik_flows.view_flow"}) 54 self.assertEqual(get_perms(role, flow), {"authentik_flows.view_flow"})
class
TestBlueprintsV1RBAC(django.test.testcases.TransactionTestCase):
15class TestBlueprintsV1RBAC(TransactionTestCase): 16 """Test Blueprints rbac attribute""" 17 18 def test_user_permission(self): 19 """Test permissions""" 20 uid = generate_id() 21 import_yaml = load_fixture("fixtures/rbac_user.yaml", id=uid) 22 23 importer = Importer.from_string(import_yaml) 24 self.assertTrue(importer.validate()[0]) 25 self.assertTrue(importer.apply()) 26 user = User.objects.filter(username=uid).first() 27 self.assertIsNotNone(user) 28 self.assertTrue(user.has_perms(["authentik_blueprints.view_blueprintinstance"])) 29 30 def test_role_permission(self): 31 """Test permissions""" 32 uid = generate_id() 33 import_yaml = load_fixture("fixtures/rbac_role.yaml", id=uid) 34 35 importer = Importer.from_string(import_yaml) 36 self.assertTrue(importer.validate()[0]) 37 self.assertTrue(importer.apply()) 38 role = Role.objects.filter(name=uid).first() 39 self.assertIsNotNone(role) 40 self.assertEqual(get_perms(role), {"authentik_blueprints.view_blueprintinstance"}) 41 42 def test_object_permission(self): 43 """Test permissions""" 44 uid = generate_id() 45 import_yaml = load_fixture("fixtures/rbac_object.yaml", id=uid) 46 47 importer = Importer.from_string(import_yaml) 48 self.assertTrue(importer.validate()[0]) 49 self.assertTrue(importer.apply()) 50 flow = Flow.objects.filter(slug=uid).first() 51 user = User.objects.filter(username=uid).first() 52 role = Role.objects.filter(name=uid).first() 53 self.assertIsNotNone(flow) 54 self.assertEqual(get_perms(user, flow), {"authentik_flows.view_flow"}) 55 self.assertEqual(get_perms(role, flow), {"authentik_flows.view_flow"})
Test Blueprints rbac attribute
def
test_user_permission(self):
18 def test_user_permission(self): 19 """Test permissions""" 20 uid = generate_id() 21 import_yaml = load_fixture("fixtures/rbac_user.yaml", id=uid) 22 23 importer = Importer.from_string(import_yaml) 24 self.assertTrue(importer.validate()[0]) 25 self.assertTrue(importer.apply()) 26 user = User.objects.filter(username=uid).first() 27 self.assertIsNotNone(user) 28 self.assertTrue(user.has_perms(["authentik_blueprints.view_blueprintinstance"]))
Test permissions
def
test_role_permission(self):
30 def test_role_permission(self): 31 """Test permissions""" 32 uid = generate_id() 33 import_yaml = load_fixture("fixtures/rbac_role.yaml", id=uid) 34 35 importer = Importer.from_string(import_yaml) 36 self.assertTrue(importer.validate()[0]) 37 self.assertTrue(importer.apply()) 38 role = Role.objects.filter(name=uid).first() 39 self.assertIsNotNone(role) 40 self.assertEqual(get_perms(role), {"authentik_blueprints.view_blueprintinstance"})
Test permissions
def
test_object_permission(self):
42 def test_object_permission(self): 43 """Test permissions""" 44 uid = generate_id() 45 import_yaml = load_fixture("fixtures/rbac_object.yaml", id=uid) 46 47 importer = Importer.from_string(import_yaml) 48 self.assertTrue(importer.validate()[0]) 49 self.assertTrue(importer.apply()) 50 flow = Flow.objects.filter(slug=uid).first() 51 user = User.objects.filter(username=uid).first() 52 role = Role.objects.filter(name=uid).first() 53 self.assertIsNotNone(flow) 54 self.assertEqual(get_perms(user, flow), {"authentik_flows.view_flow"}) 55 self.assertEqual(get_perms(role, flow), {"authentik_flows.view_flow"})
Test permissions