def test_group_role(self): assign_role("role2", self.group) self.assertTrue(self.user.has_perm("core.view_remote")) self.assertFalse(self.user.has_perm("core.view_remote", self.remote)) self.assertEqual(self.user.get_all_permissions(), {"core.view_remote"}) self.assertEqual(self.user.get_all_permissions(self.remote), set()) remove_role("role2", self.group)
def test_user_role(self): assign_role("role1", self.user) self.assertTrue(self.user.has_perm("core.view_repository")) self.assertFalse(self.user.has_perm("core.view_repository", self.repository)) self.assertEqual(self.user.get_all_permissions(), {"core.view_repository"}) self.assertEqual(self.user.get_all_permissions(self.repository), set()) remove_role("role1", self.user)
def test_combination_role(self): assign_role("role1", self.user, self.repository) assign_role("role2", self.group) self.assertEqual(self.user.get_all_permissions(), {"core.view_remote"}) self.assertEqual(self.user.get_all_permissions(self.repository), {"view_repository"}) self.assertEqual(self.user.get_all_permissions(self.remote), set()) self.assertEqual( set( get_objects_for_user(self.user, "core.view_repository", Repository.objects.all()).values_list( "pk", flat=True)), {self.repository.pk}, ) self.assertEqual( set( get_objects_for_user(self.user, "core.view_remote", Remote.objects.all()).values_list( "pk", flat=True)), {self.remote.pk, self.remote2.pk}, ) remove_role("role2", self.group)