40 protected function setUp() : void
42 include_once(
"./Services/PHPUnit/classes/class.ilUnitUtil.php");
43 ilUnitUtil::performInitialisation();
56 $rbacreview = $DIC[
'rbacreview'];
57 $rbacadmin = $DIC[
'rbacadmin'];
60 #$rbacadmin->setProtected(1,4,'y'); 61 #$prot = $rbacreview->isProtected(8,4); 62 #$this->assertEquals($prot,true); 63 #$rbacadmin->setProtected(1,4,'n'); 64 #$prot = $rbacreview->isProtected(8,4); 65 #$this->assertEquals($prot,false); 67 $rbacreview->getRoleListByObject(8);
68 $rbacreview->getAssignableRoles();
71 $ass = $rbacreview->isAssignable(4, 8);
72 $this->assertEquals($ass,
true);
74 $roles = $rbacreview->getRolesOfObject(8);
76 $obj = $rbacreview->getObjectOfRole(4);
77 $this->assertEquals(8, $obj);
88 $rbacreview = $DIC[
'rbacreview'];
89 $rbacadmin = $DIC[
'rbacadmin'];
93 $rbacreview->assignedUsers(4);
94 $rbacreview->assignedRoles(6);
107 $rbacreview = $DIC[
'rbacreview'];
108 $rbacadmin = $DIC[
'rbacadmin'];
110 $sess_ops = $rbacreview->getOperationsOnTypeString(
'sess');
112 $rbacadmin->assignOperationToObject($rbacreview->getTypeId(
'sess'),
'7');
116 $rbacadmin->deassignOperationFromObject($rbacreview->getTypeId(
'sess'),
'7');
117 $new_sess_ops = $rbacreview->getOperationsOnTypeString(
'sess');
118 $this->assertEquals($sess_ops, $new_sess_ops);
129 $rbacreview = $DIC[
'rbacreview'];
130 $rbacadmin = $DIC[
'rbacadmin'];
132 $sess_ops = $rbacreview->getOperationsOnTypeString(
'cat');
134 $rbacadmin->revokePermission(1, 4);
135 $rbacadmin->grantPermission(4, array(2,3), 1);
146 include_once
'./Services/Conditions/classes/class.ilConditionHandler.php';
152 $handler->setTargetRefId(99999);
153 $handler->setTargetObjId(99998);
154 $handler->setTargetType(
'xxx');
155 $handler->setTriggerRefId(99997);
156 $handler->setTriggerObjId(99996);
157 $handler->setTriggerType(
'yyy');
158 $handler->setReferenceHandlingType(0);
159 $handler->enableAutomaticValidation(
false);
160 $suc = $handler->storeCondition();
161 $this->assertEquals($suc,
true);
163 $suc = $handler->checkExists();
164 $this->assertEquals($suc,
false);
166 $suc = $handler->delete(99999);
167 $this->assertEquals($suc,
true);
170 $handler->deleteByObjId(-1);
171 $handler->deleteCondition(-1);
182 include_once
'./Services/AccessControl/classes/class.ilAccessHandler.php';
185 $handler->setResults(array(1,2,3));
186 $handler->storeCache();
187 $handler->readCache();
188 $res = $handler->getResults();
190 $this->assertEquals(array(1,2,3),
$res);
204 $rbacreview = $DIC[
'rbacreview'];
205 $rbacadmin = $DIC[
'rbacadmin'];
207 $rbacadmin->assignUser(10, 15);
209 $this->assertTrue($rbacreview->isAssigned(15, 10));
212 $rbacadmin->assignUser(10, 15);
227 $rbacreview = $DIC[
'rbacreview'];
228 $rbacadmin = $DIC[
'rbacadmin'];
230 $rbacadmin->deassignUser(10, 15);
232 $this->assertFalse($rbacreview->isAssigned(15, 10));
246 $rbacreview = $DIC[
'rbacreview'];
247 $rbacadmin = $DIC[
'rbacadmin'];
249 $rbacadmin->grantPermission(10, array(10,20,30), 60);
251 $this->assertEquals($rbacreview->getActiveOperationsOfRole(60, 10), array(10,20,30));
267 $rbacreview = $DIC[
'rbacreview'];
268 $rbacadmin = $DIC[
'rbacadmin'];
269 $ilDB = $DIC[
'ilDB'];
271 $req =
$ilDB->query(
"SELECT ref.ref_id FROM object_reference AS ref LEFT JOIN object_data AS data ON data.obj_id = ref.obj_id WHERE data.type='seas';");
276 $ref_id = $row[
"ref_id"];
279 $req =
$ilDB->query(
"SELECT obj_id FROM object_data WHERE type='role';");
281 $role1 =
$ilDB->fetchAssoc(
$req)[
"obj_id"];
282 $role2 =
$ilDB->fetchAssoc(
$req)[
"obj_id"];
283 $role3 =
$ilDB->fetchAssoc(
$req)[
"obj_id"];
286 $opt1 = $rbacreview->getActiveOperationsOfRole($ref_id, $role1);
287 $opt2 = $rbacreview->getActiveOperationsOfRole($ref_id, $role2);
288 $opt3 = $rbacreview->getActiveOperationsOfRole($ref_id, $role3);
290 $rbacadmin->grantPermission($role1, array(1,2,3,4,5), $ref_id);
291 $rbacadmin->grantPermission($role2, array(1,2,3,4,5), $ref_id);
294 $rbacadmin->revokePermission($ref_id);
295 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role1));
296 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role2));
299 $rbacadmin->grantPermission($role1, array(1,2,3,4,5), $ref_id);
301 $rbacadmin->revokePermission($ref_id, $role1);
302 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role1));
305 $rbacadmin->grantPermission($role2, array(1,2,3,4,5), $ref_id);
306 $rbacadmin->grantPermission($role3, array(1,2,3,4,5), $ref_id);
309 $rbacadmin->revokePermission($ref_id, 0,
false);
310 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role2));
311 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role3));
313 $rbacadmin->grantPermission($role3, array(1,2,3,4,5), $ref_id);
315 $rbacadmin->revokePermission($ref_id, $role3,
false);
316 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role3));
319 $rbacadmin->grantPermission($role1, $opt1, $ref_id);
320 $rbacadmin->grantPermission($role2, $opt2, $ref_id);
321 $rbacadmin->grantPermission($role3, $opt3, $ref_id);
336 $rbacreview = $DIC[
'rbacreview'];
337 $rbacadmin = $DIC[
'rbacadmin'];
338 $tree = $DIC[
'tree'];
339 $ilDB = $DIC[
'ilDB'];
340 $req =
$ilDB->query(
"SELECT ref.ref_id FROM object_reference AS ref LEFT JOIN object_data AS data ON data.obj_id = ref.obj_id WHERE data.type='adm';");
345 $ref_id = $row[
"ref_id"];
348 $childs = $tree->getChildIds($ref_id);
350 $req =
$ilDB->query(
"SELECT obj_id FROM object_data WHERE type='role';");
352 $role =
$ilDB->fetchAssoc(
$req)[
"obj_id"];
356 foreach ($childs as $id) {
357 $ops[$id] = $rbacreview->getActiveOperationsOfRole($id, $role);
358 $rbacadmin->grantPermission($role, array(1,2,3,4,5), $id);
362 $rbacadmin->revokeSubtreePermissions($ref_id, $role);
364 foreach ($childs as $id) {
365 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($id, $role));
366 $rbacadmin->grantPermission($role, $ops[$id], $id);
382 $rbacreview = $DIC[
'rbacreview'];
383 $rbacadmin = $DIC[
'rbacadmin'];
384 $list = array(1001, 1003, 1005, 1007);
386 foreach ($list as $id) {
387 $rbacadmin->grantPermission(123, array(1,2,3,4,5), $id);
390 $rbacadmin->revokePermissionList($list, 123);
392 foreach ($list as $id) {
393 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($id, 123));
408 $rbacreview = $DIC[
'rbacreview'];
409 $rbacadmin = $DIC[
'rbacadmin'];
410 $rbacadmin->deleteTemplate(1010);
412 $rbacadmin->setRolePermission(1010,
"a", array(10,11,13,15), 1100);
413 $rbacadmin->setRolePermission(1010,
"b", array(20,22,23,25), 1100);
415 $assert = array(
"a" => array(10,11,13,15),
"b" => array(20,22,23,25));
416 $dest = $rbacreview->getAllOperationsOfRole(1010, 1100);
421 $this->assertEquals($assert, $dest);
423 $rbacadmin->deleteTemplate(1010);
438 $rbacreview = $DIC[
'rbacreview'];
439 $rbacadmin = $DIC[
'rbacadmin'];
440 $rbacadmin->deleteTemplate(1010);
442 $rbacadmin->setRolePermission(1010,
"a", array(10,11,13,15), 1100);
443 $rbacadmin->setRolePermission(1010,
"b", array(20,22,23,25), 1100);
445 $rbacadmin->deleteRolePermission(1010, 1100);
447 $this->assertEmpty($rbacreview->getAllOperationsOfRole(1010, 1100));
449 $rbacadmin->setRolePermission(1010,
"a", array(10,11,13,15), 1100);
450 $rbacadmin->setRolePermission(1010,
"b", array(20,22,23,25), 1100);
452 $rbacadmin->deleteRolePermission(1010, 1100,
"a");
454 $assert = array(
"b" => array(20,22,23,25));
455 $dest = $rbacreview->getAllOperationsOfRole(1010, 1100);
459 $this->assertEquals($assert, $dest);
461 $rbacadmin->deleteTemplate(1010);
476 $rbacreview = $DIC[
'rbacreview'];
477 $rbacadmin = $DIC[
'rbacadmin'];
478 $rbacadmin->deleteTemplate(1010);
479 $rbacadmin->deleteTemplate(2020);
481 $rbacadmin->setRolePermission(1010,
"blub", array(10,11), 1100);
482 $rbacadmin->setRolePermission(2020,
"bulb", array(20,22), 2200);
484 $rbacadmin->copyRoleTemplatePermissions(1010, 1100, 2200, 2020);
486 $one = $rbacreview->getAllOperationsOfRole(1010, 1100);
487 $two = $rbacreview->getAllOperationsOfRole(2020, 2200);
490 $this->assertEquals($one, $two);
491 $rbacadmin->deleteTemplate(1010);
492 $rbacadmin->deleteTemplate(2020);
510 $rbacreview = $DIC[
'rbacreview'];
511 $rbacadmin = $DIC[
'rbacadmin'];
512 $ilDB = $DIC[
'ilDB'];
514 $req =
$ilDB->query(
"SELECT ref.ref_id FROM object_reference AS ref LEFT JOIN object_data AS data ON data.obj_id = ref.obj_id WHERE data.type='seas';");
519 $seas = $row[
"ref_id"];
522 $req =
$ilDB->query(
"SELECT ref.ref_id FROM object_reference AS ref LEFT JOIN object_data AS data ON data.obj_id = ref.obj_id WHERE data.type='mail';");
527 $mail = $row[
"ref_id"];
530 $req =
$ilDB->query(
"SELECT obj_id FROM object_data WHERE type='role';");
532 $role =
$ilDB->fetchAssoc(
$req)[
"obj_id"];
535 $opt_mail = $rbacreview->getActiveOperationsOfRole($mail, $role);
536 $opt_seas = $rbacreview->getActiveOperationsOfRole($seas, $role);
537 $opt_temp_seas = $rbacreview->getAllOperationsOfRole($role, $seas);
538 $opt_temp_mail = $rbacreview->getAllOperationsOfRole($role, $mail);
541 $rbacadmin->setRolePermission($role,
"mail", array(1,2,3,4,5), $mail);
542 $rbacadmin->grantPermission($role, array(1,2,3,4,5), $mail);
543 $rbacadmin->setRolePermission($role,
"seas", array(5,6,7,8,9), $seas);
544 $rbacadmin->grantPermission($role, array(5,6,7,8,9), $seas);
546 $rbacadmin->copyRolePermissions($role, $seas, $mail, $role);
548 $rbacreview->getActiveOperationsOfRole($seas, $role),
549 $rbacreview->getActiveOperationsOfRole($mail, $role)
553 $rbacadmin->grantPermission($role, $opt_seas, $seas);
554 $rbacadmin->grantPermission($role, $opt_mail, $mail);
556 $rbacadmin->deleteRolePermission($role, $mail);
557 $rbacadmin->deleteRolePermission($role, $seas);
559 foreach ($opt_temp_seas as
$type => $opt) {
560 $rbacadmin->setRolePermission($role,
$type, $opt, $seas);
563 foreach ($opt_temp_mail as
$type => $opt) {
564 $rbacadmin->setRolePermission($role,
$type, $opt, $mail);
580 $rbacreview = $DIC[
'rbacreview'];
581 $rbacadmin = $DIC[
'rbacadmin'];
582 $rbacadmin->deleteTemplate(1010);
583 $rbacadmin->deleteTemplate(2020);
584 $rbacadmin->deleteTemplate(3030);
586 $rbacadmin->setRolePermission(1010,
"a", array(10,11,13,15), 1100);
587 $rbacadmin->setRolePermission(2020,
"a", array(11,12,13,16), 2200);
589 $rbacadmin->setRolePermission(1010,
"b", array(20,22,23,25), 1100);
590 $rbacadmin->setRolePermission(2020,
"b", array(20,23,24,26), 2200);
592 $rbacadmin->setRolePermission(3030,
"c", array(30,33), 3300);
593 $rbacadmin->setRolePermission(3030,
"a", array(30,33), 3300);
594 $rbacadmin->setRolePermission(3030,
"b", array(30,33), 3300);
596 $rbacadmin->copyRolePermissionIntersection(1010, 1100, 2020, 2200, 3300, 3030);
598 $intersect = array(
"a" => array(11,13),
"b" => array(20,23));
599 $dest = $rbacreview->getAllOperationsOfRole(3030, 3300);
605 $this->assertEquals($intersect, $dest);
607 $rbacadmin->deleteTemplate(1010);
608 $rbacadmin->deleteTemplate(2020);
609 $rbacadmin->deleteTemplate(3030);
625 $rbacreview = $DIC[
'rbacreview'];
626 $rbacadmin = $DIC[
'rbacadmin'];
627 $rbacadmin->deleteTemplate(1010);
628 $rbacadmin->deleteTemplate(2020);
629 $rbacadmin->deleteTemplate(3030);
631 $rbacadmin->setRolePermission(1010,
"a", array(10,11,13,15), 1100);
632 $rbacadmin->setRolePermission(2020,
"a", array(11,12,13,16), 2200);
634 $rbacadmin->setRolePermission(1010,
"b", array(20,22,23,25), 1100);
635 $rbacadmin->setRolePermission(2020,
"b", array(20,23,24,26), 2200);
637 $rbacadmin->setRolePermission(1010,
"c", array(30,33,34,35), 1100);
639 $rbacadmin->copyRolePermissionUnion(1010, 1100, 2020, 2200, 3030, 3300);
641 $union = array(
"a" => array(10,11,12,13,15,16),
"b" => array(20,22,23,24,25,26),
"c" => array(30,33,34,35));
642 $dest = $rbacreview->getAllOperationsOfRole(3030, 3300);
648 $this->assertEquals($union, $dest);
650 $rbacadmin->deleteTemplate(1010);
651 $rbacadmin->deleteTemplate(2020);
652 $rbacadmin->deleteTemplate(3030);
667 $rbacreview = $DIC[
'rbacreview'];
668 $rbacadmin = $DIC[
'rbacadmin'];
669 $rbacadmin->deleteTemplate(1010);
670 $rbacadmin->deleteTemplate(2020);
672 $rbacadmin->setRolePermission(1010,
"a", array(10,11,13,15), 1100);
673 $rbacadmin->setRolePermission(2020,
"a", array(11,12,13,16), 2200);
675 $rbacadmin->setRolePermission(1010,
"b", array(20,22,23,25), 1100);
676 $rbacadmin->setRolePermission(2020,
"b", array(20,23,24,26), 2200);
678 $rbacadmin->setRolePermission(2020,
"c", array(30,33,34,35), 2200);
680 $rbacadmin->copyRolePermissionSubtract(1010, 1100, 2020, 2200);
682 $subtract = array(
"a" => array(12,16),
"b" => array(24,26),
"c" => array(30,33,34,35));
683 $dest = $rbacreview->getAllOperationsOfRole(2020, 2200);
689 $this->assertEquals($subtract, $dest);
691 $rbacadmin->deleteTemplate(1010);
692 $rbacadmin->deleteTemplate(2020);
706 $rbacreview = $DIC[
'rbacreview'];
707 $rbacadmin = $DIC[
'rbacadmin'];
709 $rbacadmin->assignOperationToObject(1001, 10);
710 $rbacadmin->assignOperationToObject(1001, 20);
712 $this->assertEquals($rbacreview->getOperationsOnType(1001), array(10,20));
725 $rbacreview = $DIC[
'rbacreview'];
726 $rbacadmin = $DIC[
'rbacadmin'];
727 $rbacadmin->deassignOperationFromObject(1001, 10);
729 $this->assertEquals($rbacreview->getOperationsOnType(1001), array(20));
731 $rbacadmin->deassignOperationFromObject(1001, 20);
733 $this->assertEmpty($rbacreview->getOperationsOnType(1001));
testRbacPA()
test rbac_pa IL_Init
static _getPersistedConditionsOfTrigger($a_trigger_obj_type, $a_trigger_id)
Get all persisted conditions of trigger object Note: This only gets persisted conditions NOT (dynamic...
testGrantPermission()
Test grant Permission Method DB: rbac_pa.
testCopyRoleTemplatePermissions()
Test Copy Role Template Permission Method DB: rbac_template.
testRevokePermission()
Test revoke Permission Method DB: rbac_pa.
static _getObjectsByOperations($a_obj_type, $a_operation, $a_usr_id=0, $limit=0)
Get all objects of a specific type and check access This function is not recursive, instead it parses the serialized rbac_pa entries.
testAssignUser()
Test Assign User Method DB: rbac_ua.
testSetRolePermission()
Test Set Role Permission Method DB: rbac_template.
testCopyRolePermissions()
Test Method DB: rbac_template DB: rbac_pa.
testRevokePermissionList()
Test revokePermissionList Method DB: rbac_pa.
testRbacUA()
test rbac_ua IL_Init
testAssignOperationToObject()
Test assignOperationToObject Method DB: rbac_ta.
Unit tests for tree table needsInstalledILIAS.
foreach($_POST as $key=> $value) $res
testConditions()
test preconditions IL_Init
testDeassignUser()
Test deassign user Method DB: rbac_ua.
static _getDistinctTargetRefIds()
Get all target ref ids.
static _deleteTargetConditionsByRefId($a_target_ref_id)
Delete conditions by target ref id Note: only conditions on the target type are deleted Conditions on...
INTERNAL CLASS: Please do not use in consumer code.
testRbacTA()
rbac ta test IL_Init
testCopyRolePermissionUnion()
Test Copy Role Permission Union Method DB: rbac_template.
testRbacFA()
RBAC FA tests IL_Init.
static _getPersistedConditionsOfTarget($a_target_ref_id, $a_target_obj_id, $a_target_type="")
get all persisted conditions of target object
static _getCondition($a_id)
testCopyRolePermissionIntersection()
Test Copy Role Permission Intersection Method DB: rbac_template.
testCopyRolePermissionSubtract()
Test Copy Role Permission Subtract Method DB: rbac_template.
testDeassignOperationFromObject()
Test deassignOperationFromObject Method ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testAssign...
testRevokeSubtreePermissions()
Test revokeSubtreePermissions Method DB: rbac_pa.
testDeleteRolePermission()
Test Delete Role Permission Method DB: rbac_template.