authentik.core.tests.test_groups
group tests
1"""group tests""" 2 3from django.test.testcases import TestCase 4 5from authentik.core.models import Group, User 6from authentik.lib.generators import generate_id 7 8 9class TestGroups(TestCase): 10 """Test group membership""" 11 12 def test_group_membership_simple(self): 13 """Test simple membership""" 14 user = User.objects.create(username=generate_id()) 15 user2 = User.objects.create(username=generate_id()) 16 group = Group.objects.create(name=generate_id()) 17 other_group = Group.objects.create(name=generate_id()) 18 group.users.add(user) 19 other_group.users.add(user) 20 self.assertTrue(group.is_member(user)) 21 self.assertFalse(group.is_member(user2)) 22 23 def test_group_membership_parent(self): 24 """Test parent membership""" 25 user = User.objects.create(username=generate_id()) 26 user2 = User.objects.create(username=generate_id()) 27 parent = Group.objects.create(name=generate_id()) 28 child = Group.objects.create(name=generate_id()) 29 child.parents.add(parent) 30 child.users.add(user) 31 self.assertTrue(child.is_member(user)) 32 self.assertTrue(parent.is_member(user)) 33 self.assertFalse(child.is_member(user2)) 34 self.assertFalse(parent.is_member(user2)) 35 36 def test_group_membership_parent_extra(self): 37 """Test parent membership""" 38 user = User.objects.create(username=generate_id()) 39 user2 = User.objects.create(username=generate_id()) 40 parent = Group.objects.create(name=generate_id()) 41 second = Group.objects.create(name=generate_id()) 42 second.parents.add(parent) 43 third = Group.objects.create(name=generate_id()) 44 third.parents.add(second) 45 second.users.add(user) 46 self.assertTrue(parent.is_member(user)) 47 self.assertFalse(parent.is_member(user2)) 48 self.assertTrue(second.is_member(user)) 49 self.assertFalse(second.is_member(user2)) 50 self.assertFalse(third.is_member(user)) 51 self.assertFalse(third.is_member(user2)) 52 53 def test_group_membership_recursive(self): 54 """Test group membership (recursive)""" 55 user = User.objects.create(username=generate_id()) 56 group = Group.objects.create(name=generate_id()) 57 group2 = Group.objects.create(name=generate_id()) 58 group.parents.add(group2) 59 group2.parents.add(group) 60 group.users.add(user) 61 group.save() 62 self.assertTrue(group.is_member(user)) 63 self.assertTrue(group2.is_member(user)) 64 65 def test_group_managed_role(self): 66 """Test group managed role""" 67 perm = "authentik_core.view_user" 68 user = User.objects.create(username=generate_id()) 69 group = Group.objects.create(name=generate_id()) 70 group.users.add(user) 71 group.assign_perms_to_managed_role(perm) 72 self.assertEqual(group.roles.count(), 1) 73 self.assertEqual(user.roles.count(), 0) 74 self.assertTrue(user.has_perm(perm))
class
TestGroups(django.test.testcases.TestCase):
10class TestGroups(TestCase): 11 """Test group membership""" 12 13 def test_group_membership_simple(self): 14 """Test simple membership""" 15 user = User.objects.create(username=generate_id()) 16 user2 = User.objects.create(username=generate_id()) 17 group = Group.objects.create(name=generate_id()) 18 other_group = Group.objects.create(name=generate_id()) 19 group.users.add(user) 20 other_group.users.add(user) 21 self.assertTrue(group.is_member(user)) 22 self.assertFalse(group.is_member(user2)) 23 24 def test_group_membership_parent(self): 25 """Test parent membership""" 26 user = User.objects.create(username=generate_id()) 27 user2 = User.objects.create(username=generate_id()) 28 parent = Group.objects.create(name=generate_id()) 29 child = Group.objects.create(name=generate_id()) 30 child.parents.add(parent) 31 child.users.add(user) 32 self.assertTrue(child.is_member(user)) 33 self.assertTrue(parent.is_member(user)) 34 self.assertFalse(child.is_member(user2)) 35 self.assertFalse(parent.is_member(user2)) 36 37 def test_group_membership_parent_extra(self): 38 """Test parent membership""" 39 user = User.objects.create(username=generate_id()) 40 user2 = User.objects.create(username=generate_id()) 41 parent = Group.objects.create(name=generate_id()) 42 second = Group.objects.create(name=generate_id()) 43 second.parents.add(parent) 44 third = Group.objects.create(name=generate_id()) 45 third.parents.add(second) 46 second.users.add(user) 47 self.assertTrue(parent.is_member(user)) 48 self.assertFalse(parent.is_member(user2)) 49 self.assertTrue(second.is_member(user)) 50 self.assertFalse(second.is_member(user2)) 51 self.assertFalse(third.is_member(user)) 52 self.assertFalse(third.is_member(user2)) 53 54 def test_group_membership_recursive(self): 55 """Test group membership (recursive)""" 56 user = User.objects.create(username=generate_id()) 57 group = Group.objects.create(name=generate_id()) 58 group2 = Group.objects.create(name=generate_id()) 59 group.parents.add(group2) 60 group2.parents.add(group) 61 group.users.add(user) 62 group.save() 63 self.assertTrue(group.is_member(user)) 64 self.assertTrue(group2.is_member(user)) 65 66 def test_group_managed_role(self): 67 """Test group managed role""" 68 perm = "authentik_core.view_user" 69 user = User.objects.create(username=generate_id()) 70 group = Group.objects.create(name=generate_id()) 71 group.users.add(user) 72 group.assign_perms_to_managed_role(perm) 73 self.assertEqual(group.roles.count(), 1) 74 self.assertEqual(user.roles.count(), 0) 75 self.assertTrue(user.has_perm(perm))
Test group membership
def
test_group_membership_simple(self):
13 def test_group_membership_simple(self): 14 """Test simple membership""" 15 user = User.objects.create(username=generate_id()) 16 user2 = User.objects.create(username=generate_id()) 17 group = Group.objects.create(name=generate_id()) 18 other_group = Group.objects.create(name=generate_id()) 19 group.users.add(user) 20 other_group.users.add(user) 21 self.assertTrue(group.is_member(user)) 22 self.assertFalse(group.is_member(user2))
Test simple membership
def
test_group_membership_parent(self):
24 def test_group_membership_parent(self): 25 """Test parent membership""" 26 user = User.objects.create(username=generate_id()) 27 user2 = User.objects.create(username=generate_id()) 28 parent = Group.objects.create(name=generate_id()) 29 child = Group.objects.create(name=generate_id()) 30 child.parents.add(parent) 31 child.users.add(user) 32 self.assertTrue(child.is_member(user)) 33 self.assertTrue(parent.is_member(user)) 34 self.assertFalse(child.is_member(user2)) 35 self.assertFalse(parent.is_member(user2))
Test parent membership
def
test_group_membership_parent_extra(self):
37 def test_group_membership_parent_extra(self): 38 """Test parent membership""" 39 user = User.objects.create(username=generate_id()) 40 user2 = User.objects.create(username=generate_id()) 41 parent = Group.objects.create(name=generate_id()) 42 second = Group.objects.create(name=generate_id()) 43 second.parents.add(parent) 44 third = Group.objects.create(name=generate_id()) 45 third.parents.add(second) 46 second.users.add(user) 47 self.assertTrue(parent.is_member(user)) 48 self.assertFalse(parent.is_member(user2)) 49 self.assertTrue(second.is_member(user)) 50 self.assertFalse(second.is_member(user2)) 51 self.assertFalse(third.is_member(user)) 52 self.assertFalse(third.is_member(user2))
Test parent membership
def
test_group_membership_recursive(self):
54 def test_group_membership_recursive(self): 55 """Test group membership (recursive)""" 56 user = User.objects.create(username=generate_id()) 57 group = Group.objects.create(name=generate_id()) 58 group2 = Group.objects.create(name=generate_id()) 59 group.parents.add(group2) 60 group2.parents.add(group) 61 group.users.add(user) 62 group.save() 63 self.assertTrue(group.is_member(user)) 64 self.assertTrue(group2.is_member(user))
Test group membership (recursive)
def
test_group_managed_role(self):
66 def test_group_managed_role(self): 67 """Test group managed role""" 68 perm = "authentik_core.view_user" 69 user = User.objects.create(username=generate_id()) 70 group = Group.objects.create(name=generate_id()) 71 group.users.add(user) 72 group.assign_perms_to_managed_role(perm) 73 self.assertEqual(group.roles.count(), 1) 74 self.assertEqual(user.roles.count(), 0) 75 self.assertTrue(user.has_perm(perm))
Test group managed role