ILIAS  release_7 Revision v7.30-3-g800a261c036
ilRBACTest Class Reference

Unit tests for tree table @group needsInstalledILIAS. More...

+ Inheritance diagram for ilRBACTest:
+ Collaboration diagram for ilRBACTest:

Public Member Functions

 testRbacFA ()
 RBAC FA tests @group IL_Init. More...
 
 testRbacUA ()
 test rbac_ua @group IL_Init More...
 
 testRbacTA ()
 rbac ta test @group IL_Init More...
 
 testRbacPA ()
 test rbac_pa @group IL_Init More...
 
 testConditions ()
 test preconditions @group IL_Init More...
 
 testCache ()
 @group IL_Init More...
 
 testAssignUser ()
 Test Assign User Method DB: rbac_ua. More...
 
 testDeassignUser ()
 Test deassign user Method DB: rbac_ua. More...
 
 testGrantPermission ()
 Test grant Permission Method DB: rbac_pa. More...
 
 testRevokePermission ()
 Test revoke Permission Method DB: rbac_pa. More...
 
 testRevokeSubtreePermissions ()
 Test revokeSubtreePermissions Method DB: rbac_pa. More...
 
 testRevokePermissionList ()
 Test revokePermissionList Method DB: rbac_pa. More...
 
 testSetRolePermission ()
 Test Set Role Permission Method DB: rbac_template. More...
 
 testDeleteRolePermission ()
 Test Delete Role Permission Method DB: rbac_template. More...
 
 testCopyRoleTemplatePermissions ()
 Test Copy Role Template Permission Method DB: rbac_template. More...
 
 testCopyRolePermissions ()
 Test Method DB: rbac_template DB: rbac_pa. More...
 
 testCopyRolePermissionIntersection ()
 Test Copy Role Permission Intersection Method DB: rbac_template. More...
 
 testCopyRolePermissionUnion ()
 Test Copy Role Permission Union Method DB: rbac_template. More...
 
 testCopyRolePermissionSubtract ()
 Test Copy Role Permission Subtract Method DB: rbac_template. More...
 
 testAssignOperationToObject ()
 Test assignOperationToObject Method DB: rbac_ta. More...
 
 testDeassignOperationFromObject ()
 Test deassignOperationFromObject Method @global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testAssignOperationToObject. More...
 

Protected Member Functions

 setUp ()
 

Protected Attributes

 $backupGlobals = false
 

Detailed Description

Unit tests for tree table @group needsInstalledILIAS.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

Definition at line 36 of file ilRBACTest.php.

Member Function Documentation

◆ setUp()

ilRBACTest::setUp ( )
protected

Definition at line 40 of file ilRBACTest.php.

40 : void
41 {
42 include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
43 ilUnitUtil::performInitialisation();
44 }

◆ testAssignOperationToObject()

ilRBACTest::testAssignOperationToObject ( )

Test assignOperationToObject Method DB: rbac_ta.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin

Definition at line 702 of file ilRBACTest.php.

703 {
704 global $DIC;
705
706 $rbacreview = $DIC['rbacreview'];
707 $rbacadmin = $DIC['rbacadmin'];
708
709 $rbacadmin->assignOperationToObject(1001, 10);
710 $rbacadmin->assignOperationToObject(1001, 20);
711
712 $this->assertEquals($rbacreview->getOperationsOnType(1001), array(10,20));
713 }
global $DIC
Definition: goto.php:24

References $DIC.

◆ testAssignUser()

ilRBACTest::testAssignUser ( )

Test Assign User Method DB: rbac_ua.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin

Definition at line 200 of file ilRBACTest.php.

201 {
202 global $DIC;
203
204 $rbacreview = $DIC['rbacreview'];
205 $rbacadmin = $DIC['rbacadmin'];
206 //assign User 15 to role 10
207 $rbacadmin->assignUser(10, 15);
208
209 $this->assertTrue($rbacreview->isAssigned(15, 10));
210
211 //Test double assign
212 $rbacadmin->assignUser(10, 15);
213 }

References $DIC.

◆ testCache()

ilRBACTest::testCache ( )

@group IL_Init

Definition at line 180 of file ilRBACTest.php.

181 {
182 include_once './Services/AccessControl/classes/class.ilAccessHandler.php';
183
184 $handler = new ilAccessHandler();
185 $handler->setResults(array(1,2,3));
186 $handler->storeCache();
187 $handler->readCache();
188 $res = $handler->getResults();
189
190 $this->assertEquals(array(1,2,3), $res);
191 }
Interface ilAccessHandler.
foreach($_POST as $key=> $value) $res

References $res.

◆ testConditions()

ilRBACTest::testConditions ( )

test preconditions @group IL_Init

Parameters

return

Definition at line 144 of file ilRBACTest.php.

145 {
146 include_once './Services/Conditions/classes/class.ilConditionHandler.php';
147
150
151 $handler = new ilConditionHandler();
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);
162
163 $suc = $handler->checkExists();
164 $this->assertEquals($suc, false);
165
166 $suc = $handler->delete(99999);
167 $this->assertEquals($suc, true);
168
169 // syntax check
170 $handler->deleteByObjId(-1);
171 $handler->deleteCondition(-1);
175 }
INTERNAL CLASS: Please do not use in consumer code.
static _deleteTargetConditionsByRefId($a_target_ref_id)
Delete conditions by target ref id Note: only conditions on the target type are deleted Conditions on...
static _getDistinctTargetRefIds()
Get all target ref ids.
static _getPersistedConditionsOfTrigger($a_trigger_obj_type, $a_trigger_id)
Get all persisted conditions of trigger object Note: This only gets persisted conditions NOT (dynamic...
static _getPersistedConditionsOfTarget($a_target_ref_id, $a_target_obj_id, $a_target_type="")
get all persisted conditions of target object

References ilConditionHandler\_deleteTargetConditionsByRefId(), ilConditionHandler\_getCondition(), ilConditionHandler\_getDistinctTargetRefIds(), ilConditionHandler\_getPersistedConditionsOfTarget(), and ilConditionHandler\_getPersistedConditionsOfTrigger().

+ Here is the call graph for this function:

◆ testCopyRolePermissionIntersection()

ilRBACTest::testCopyRolePermissionIntersection ( )

Test Copy Role Permission Intersection Method DB: rbac_template.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testSetRolePermission

Definition at line 576 of file ilRBACTest.php.

577 {
578 global $DIC;
579
580 $rbacreview = $DIC['rbacreview'];
581 $rbacadmin = $DIC['rbacadmin'];
582 $rbacadmin->deleteTemplate(1010);
583 $rbacadmin->deleteTemplate(2020);
584 $rbacadmin->deleteTemplate(3030);
585
586 $rbacadmin->setRolePermission(1010, "a", array(10,11,13,15), 1100);
587 $rbacadmin->setRolePermission(2020, "a", array(11,12,13,16), 2200);
588
589 $rbacadmin->setRolePermission(1010, "b", array(20,22,23,25), 1100);
590 $rbacadmin->setRolePermission(2020, "b", array(20,23,24,26), 2200);
591
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);
595
596 $rbacadmin->copyRolePermissionIntersection(1010, 1100, 2020, 2200, 3300, 3030);
597
598 $intersect = array("a" => array(11,13), "b" => array(20,23));
599 $dest = $rbacreview->getAllOperationsOfRole(3030, 3300);
600
601 //sort
602 sort($dest["a"]);
603 sort($dest["b"]);
604
605 $this->assertEquals($intersect, $dest);
606
607 $rbacadmin->deleteTemplate(1010);
608 $rbacadmin->deleteTemplate(2020);
609 $rbacadmin->deleteTemplate(3030);
610 }

References $DIC.

◆ testCopyRolePermissions()

ilRBACTest::testCopyRolePermissions ( )

Test Method DB: rbac_template DB: rbac_pa.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testGrantPermission @depends testRevokePermission @depends testSetRolePermission

Definition at line 506 of file ilRBACTest.php.

507 {
508 global $DIC;
509
510 $rbacreview = $DIC['rbacreview'];
511 $rbacadmin = $DIC['rbacadmin'];
512 $ilDB = $DIC['ilDB'];
513
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';");
515
516 $seas = 0;
517
518 while ($row = $ilDB->fetchAssoc($req)) {
519 $seas = $row["ref_id"];
520 }
521
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';");
523
524 $mail = 0;
525
526 while ($row = $ilDB->fetchAssoc($req)) {
527 $mail = $row["ref_id"];
528 }
529
530 $req = $ilDB->query("SELECT obj_id FROM object_data WHERE type='role';");
531 $ilDB->fetchAssoc($req);//First role is protected. Dont use it!
532 $role = $ilDB->fetchAssoc($req)["obj_id"];
533
534 //save normal operations
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);
539
540 //set values
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);
545
546 $rbacadmin->copyRolePermissions($role, $seas, $mail, $role);
547 $this->assertEquals(
548 $rbacreview->getActiveOperationsOfRole($seas, $role),
549 $rbacreview->getActiveOperationsOfRole($mail, $role)
550 );
551
552 //set normal operations
553 $rbacadmin->grantPermission($role, $opt_seas, $seas);
554 $rbacadmin->grantPermission($role, $opt_mail, $mail);
555
556 $rbacadmin->deleteRolePermission($role, $mail);
557 $rbacadmin->deleteRolePermission($role, $seas);
558
559 foreach ($opt_temp_seas as $type => $opt) {
560 $rbacadmin->setRolePermission($role, $type, $opt, $seas);
561 }
562
563 foreach ($opt_temp_mail as $type => $opt) {
564 $rbacadmin->setRolePermission($role, $type, $opt, $mail);
565 }
566 }
$type
global $ilDB

References $DIC, $ilDB, XapiProxy\$req, and $type.

◆ testCopyRolePermissionSubtract()

ilRBACTest::testCopyRolePermissionSubtract ( )

Test Copy Role Permission Subtract Method DB: rbac_template.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testSetRolePermission

Definition at line 663 of file ilRBACTest.php.

664 {
665 global $DIC;
666
667 $rbacreview = $DIC['rbacreview'];
668 $rbacadmin = $DIC['rbacadmin'];
669 $rbacadmin->deleteTemplate(1010);
670 $rbacadmin->deleteTemplate(2020);
671
672 $rbacadmin->setRolePermission(1010, "a", array(10,11,13,15), 1100);
673 $rbacadmin->setRolePermission(2020, "a", array(11,12,13,16), 2200);
674
675 $rbacadmin->setRolePermission(1010, "b", array(20,22,23,25), 1100);
676 $rbacadmin->setRolePermission(2020, "b", array(20,23,24,26), 2200);
677
678 $rbacadmin->setRolePermission(2020, "c", array(30,33,34,35), 2200);
679
680 $rbacadmin->copyRolePermissionSubtract(1010, 1100, 2020, 2200);
681
682 $subtract = array("a" => array(12,16), "b" => array(24,26), "c" => array(30,33,34,35));
683 $dest = $rbacreview->getAllOperationsOfRole(2020, 2200);
684
685 sort($dest["a"]);
686 sort($dest["b"]);
687 sort($dest["c"]);
688
689 $this->assertEquals($subtract, $dest);
690
691 $rbacadmin->deleteTemplate(1010);
692 $rbacadmin->deleteTemplate(2020);
693 }

References $DIC.

◆ testCopyRolePermissionUnion()

ilRBACTest::testCopyRolePermissionUnion ( )

Test Copy Role Permission Union Method DB: rbac_template.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testCopyRoleTemplatePermissions @depends testSetRolePermission

Definition at line 621 of file ilRBACTest.php.

622 {
623 global $DIC;
624
625 $rbacreview = $DIC['rbacreview'];
626 $rbacadmin = $DIC['rbacadmin'];
627 $rbacadmin->deleteTemplate(1010);
628 $rbacadmin->deleteTemplate(2020);
629 $rbacadmin->deleteTemplate(3030);
630
631 $rbacadmin->setRolePermission(1010, "a", array(10,11,13,15), 1100);
632 $rbacadmin->setRolePermission(2020, "a", array(11,12,13,16), 2200);
633
634 $rbacadmin->setRolePermission(1010, "b", array(20,22,23,25), 1100);
635 $rbacadmin->setRolePermission(2020, "b", array(20,23,24,26), 2200);
636
637 $rbacadmin->setRolePermission(1010, "c", array(30,33,34,35), 1100);
638
639 $rbacadmin->copyRolePermissionUnion(1010, 1100, 2020, 2200, 3030, 3300);
640
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);
643
644 sort($dest["a"]);
645 sort($dest["b"]);
646 sort($dest["c"]);
647
648 $this->assertEquals($union, $dest);
649
650 $rbacadmin->deleteTemplate(1010);
651 $rbacadmin->deleteTemplate(2020);
652 $rbacadmin->deleteTemplate(3030);
653 }

References $DIC.

◆ testCopyRoleTemplatePermissions()

ilRBACTest::testCopyRoleTemplatePermissions ( )

Test Copy Role Template Permission Method DB: rbac_template.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testSetRolePermission

Definition at line 472 of file ilRBACTest.php.

473 {
474 global $DIC;
475
476 $rbacreview = $DIC['rbacreview'];
477 $rbacadmin = $DIC['rbacadmin'];
478 $rbacadmin->deleteTemplate(1010);
479 $rbacadmin->deleteTemplate(2020);
480
481 $rbacadmin->setRolePermission(1010, "blub", array(10,11), 1100);
482 $rbacadmin->setRolePermission(2020, "bulb", array(20,22), 2200);
483
484 $rbacadmin->copyRoleTemplatePermissions(1010, 1100, 2200, 2020);
485
486 $one = $rbacreview->getAllOperationsOfRole(1010, 1100);
487 $two = $rbacreview->getAllOperationsOfRole(2020, 2200);
488 sort($one["blub"]);
489 sort($two["blub"]);
490 $this->assertEquals($one, $two);
491 $rbacadmin->deleteTemplate(1010);
492 $rbacadmin->deleteTemplate(2020);
493 }

References $DIC.

◆ testDeassignOperationFromObject()

ilRBACTest::testDeassignOperationFromObject ( )

Test deassignOperationFromObject Method @global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testAssignOperationToObject.

Definition at line 721 of file ilRBACTest.php.

722 {
723 global $DIC;
724
725 $rbacreview = $DIC['rbacreview'];
726 $rbacadmin = $DIC['rbacadmin'];
727 $rbacadmin->deassignOperationFromObject(1001, 10);
728
729 $this->assertEquals($rbacreview->getOperationsOnType(1001), array(20));
730
731 $rbacadmin->deassignOperationFromObject(1001, 20);
732
733 $this->assertEmpty($rbacreview->getOperationsOnType(1001));
734 }

References $DIC.

◆ testDeassignUser()

ilRBACTest::testDeassignUser ( )

Test deassign user Method DB: rbac_ua.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testAssignUser

Definition at line 223 of file ilRBACTest.php.

224 {
225 global $DIC;
226
227 $rbacreview = $DIC['rbacreview'];
228 $rbacadmin = $DIC['rbacadmin'];
229 //deassign User 15 from role 10
230 $rbacadmin->deassignUser(10, 15);
231
232 $this->assertFalse($rbacreview->isAssigned(15, 10));
233 }

References $DIC.

◆ testDeleteRolePermission()

ilRBACTest::testDeleteRolePermission ( )

Test Delete Role Permission Method DB: rbac_template.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testSetRolePermission

Definition at line 434 of file ilRBACTest.php.

435 {
436 global $DIC;
437
438 $rbacreview = $DIC['rbacreview'];
439 $rbacadmin = $DIC['rbacadmin'];
440 $rbacadmin->deleteTemplate(1010);
441
442 $rbacadmin->setRolePermission(1010, "a", array(10,11,13,15), 1100);
443 $rbacadmin->setRolePermission(1010, "b", array(20,22,23,25), 1100);
444
445 $rbacadmin->deleteRolePermission(1010, 1100);
446
447 $this->assertEmpty($rbacreview->getAllOperationsOfRole(1010, 1100));
448
449 $rbacadmin->setRolePermission(1010, "a", array(10,11,13,15), 1100);
450 $rbacadmin->setRolePermission(1010, "b", array(20,22,23,25), 1100);
451
452 $rbacadmin->deleteRolePermission(1010, 1100, "a");
453
454 $assert = array("b" => array(20,22,23,25));
455 $dest = $rbacreview->getAllOperationsOfRole(1010, 1100);
456
457 sort($dest["b"]);
458
459 $this->assertEquals($assert, $dest);
460
461 $rbacadmin->deleteTemplate(1010);
462 }

References $DIC.

◆ testGrantPermission()

ilRBACTest::testGrantPermission ( )

Test grant Permission Method DB: rbac_pa.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin

Definition at line 242 of file ilRBACTest.php.

243 {
244 global $DIC;
245
246 $rbacreview = $DIC['rbacreview'];
247 $rbacadmin = $DIC['rbacadmin'];
248 //grant permissions 10,20 and 30 for role 10 on object 60
249 $rbacadmin->grantPermission(10, array(10,20,30), 60);
250
251 $this->assertEquals($rbacreview->getActiveOperationsOfRole(60, 10), array(10,20,30));
252 }

References $DIC.

◆ testRbacFA()

ilRBACTest::testRbacFA ( )

RBAC FA tests @group IL_Init.

Parameters

return

Definition at line 52 of file ilRBACTest.php.

53 {
54 global $DIC;
55
56 $rbacreview = $DIC['rbacreview'];
57 $rbacadmin = $DIC['rbacadmin'];
58
59 // Protected
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);
66
67 $rbacreview->getRoleListByObject(8);
68 $rbacreview->getAssignableRoles();
69
70
71 $ass = $rbacreview->isAssignable(4, 8);
72 $this->assertEquals($ass, true);
73
74 $roles = $rbacreview->getRolesOfObject(8);
75
76 $obj = $rbacreview->getObjectOfRole(4);
77 $this->assertEquals(8, $obj);
78 }

References $DIC.

◆ testRbacPA()

ilRBACTest::testRbacPA ( )

test rbac_pa @group IL_Init

Definition at line 125 of file ilRBACTest.php.

126 {
127 global $DIC;
128
129 $rbacreview = $DIC['rbacreview'];
130 $rbacadmin = $DIC['rbacadmin'];
131
132 $sess_ops = $rbacreview->getOperationsOnTypeString('cat');
133
134 $rbacadmin->revokePermission(1, 4);
135 $rbacadmin->grantPermission(4, array(2,3), 1);
136 }

References $DIC.

◆ testRbacTA()

ilRBACTest::testRbacTA ( )

rbac ta test @group IL_Init

Parameters

return

Definition at line 103 of file ilRBACTest.php.

104 {
105 global $DIC;
106
107 $rbacreview = $DIC['rbacreview'];
108 $rbacadmin = $DIC['rbacadmin'];
109
110 $sess_ops = $rbacreview->getOperationsOnTypeString('sess');
111
112 $rbacadmin->assignOperationToObject($rbacreview->getTypeId('sess'), '7');
113 //$new_sess_ops = $rbacreview->getOperationsOnTypeString('sess');
114 //$this->assertEquals(array_merge($sess_ops,array(7)),$new_sess_ops);
115
116 $rbacadmin->deassignOperationFromObject($rbacreview->getTypeId('sess'), '7');
117 $new_sess_ops = $rbacreview->getOperationsOnTypeString('sess');
118 $this->assertEquals($sess_ops, $new_sess_ops);
119 }

References $DIC.

◆ testRbacUA()

ilRBACTest::testRbacUA ( )

test rbac_ua @group IL_Init

Definition at line 84 of file ilRBACTest.php.

85 {
86 global $DIC;
87
88 $rbacreview = $DIC['rbacreview'];
89 $rbacadmin = $DIC['rbacadmin'];
90
91 $obj = ilUtil::_getObjectsByOperations('crs', 'join');
92
93 $rbacreview->assignedUsers(4);
94 $rbacreview->assignedRoles(6);
95 }
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,...

References $DIC, and ilUtil\_getObjectsByOperations().

+ Here is the call graph for this function:

◆ testRevokePermission()

ilRBACTest::testRevokePermission ( )

Test revoke Permission Method DB: rbac_pa.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testGrantPermission

Definition at line 263 of file ilRBACTest.php.

264 {
265 global $DIC;
266
267 $rbacreview = $DIC['rbacreview'];
268 $rbacadmin = $DIC['rbacadmin'];
269 $ilDB = $DIC['ilDB'];
270
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';");
272
273 $ref_id = 0;
274
275 while ($row = $ilDB->fetchAssoc($req)) {
276 $ref_id = $row["ref_id"];
277 }
278
279 $req = $ilDB->query("SELECT obj_id FROM object_data WHERE type='role';");
280 $ilDB->fetchAssoc($req);//First role is protected. Dont use it!
281 $role1 = $ilDB->fetchAssoc($req)["obj_id"];
282 $role2 = $ilDB->fetchAssoc($req)["obj_id"];
283 $role3 = $ilDB->fetchAssoc($req)["obj_id"];
284
285 //save normal operations
286 $opt1 = $rbacreview->getActiveOperationsOfRole($ref_id, $role1);
287 $opt2 = $rbacreview->getActiveOperationsOfRole($ref_id, $role2);
288 $opt3 = $rbacreview->getActiveOperationsOfRole($ref_id, $role3);
289
290 $rbacadmin->grantPermission($role1, array(1,2,3,4,5), $ref_id);
291 $rbacadmin->grantPermission($role2, array(1,2,3,4,5), $ref_id);
292 //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role1), array(1,2,3,4,5));
293 //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role2), array(1,2,3,4,5));
294 $rbacadmin->revokePermission($ref_id);
295 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role1));
296 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role2));
297
298
299 $rbacadmin->grantPermission($role1, array(1,2,3,4,5), $ref_id);
300 //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role1), array(1,2,3,4,5));
301 $rbacadmin->revokePermission($ref_id, $role1);
302 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role1));
303
304
305 $rbacadmin->grantPermission($role2, array(1,2,3,4,5), $ref_id);
306 $rbacadmin->grantPermission($role3, array(1,2,3,4,5), $ref_id);
307 //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role2), array(1,2,3,4,5));
308 //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role3), array(1,2,3,4,5));
309 $rbacadmin->revokePermission($ref_id, 0, false);
310 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role2));
311 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role3));
312
313 $rbacadmin->grantPermission($role3, array(1,2,3,4,5), $ref_id);
314 //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role3), array(1,2,3,4,5));
315 $rbacadmin->revokePermission($ref_id, $role3, false);
316 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id, $role3));
317
318 //set normal operations
319 $rbacadmin->grantPermission($role1, $opt1, $ref_id);
320 $rbacadmin->grantPermission($role2, $opt2, $ref_id);
321 $rbacadmin->grantPermission($role3, $opt3, $ref_id);
322 }

References $DIC, $ilDB, and XapiProxy\$req.

◆ testRevokePermissionList()

ilRBACTest::testRevokePermissionList ( )

Test revokePermissionList Method DB: rbac_pa.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testGrantPermission

Definition at line 378 of file ilRBACTest.php.

379 {
380 global $DIC;
381
382 $rbacreview = $DIC['rbacreview'];
383 $rbacadmin = $DIC['rbacadmin'];
384 $list = array(1001, 1003, 1005, 1007);
385
386 foreach ($list as $id) {
387 $rbacadmin->grantPermission(123, array(1,2,3,4,5), $id);
388 }
389
390 $rbacadmin->revokePermissionList($list, 123);
391
392 foreach ($list as $id) {
393 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($id, 123));
394 }
395 }

References $DIC.

◆ testRevokeSubtreePermissions()

ilRBACTest::testRevokeSubtreePermissions ( )

Test revokeSubtreePermissions Method DB: rbac_pa.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin @depends testGrantPermission

Definition at line 332 of file ilRBACTest.php.

333 {
334 global $DIC;
335
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';");
341
342 $ref_id = 0;
343
344 while ($row = $ilDB->fetchAssoc($req)) {
345 $ref_id = $row["ref_id"];
346 }
347
348 $childs = $tree->getChildIds($ref_id);
349
350 $req = $ilDB->query("SELECT obj_id FROM object_data WHERE type='role';");
351 $ilDB->fetchAssoc($req);//First role is protected. Dont use it!
352 $role = $ilDB->fetchAssoc($req)["obj_id"];
353
354 $ops = array();
355
356 foreach ($childs as $id) {
357 $ops[$id] = $rbacreview->getActiveOperationsOfRole($id, $role);//save normal operations
358 $rbacadmin->grantPermission($role, array(1,2,3,4,5), $id);
359 //$this->assertEquals($rbacreview->getActiveOperationsOfRole($id,$role), array(1,2,3,4,5));
360 }
361
362 $rbacadmin->revokeSubtreePermissions($ref_id, $role);
363
364 foreach ($childs as $id) {
365 $this->assertEmpty($rbacreview->getActiveOperationsOfRole($id, $role));
366 $rbacadmin->grantPermission($role, $ops[$id], $id);//set normal operations
367 }
368 }

References $DIC, $ilDB, and XapiProxy\$req.

◆ testSetRolePermission()

ilRBACTest::testSetRolePermission ( )

Test Set Role Permission Method DB: rbac_template.

@global ilRbacReview $rbacreview @global ilRbacAdmin $rbacadmin

Definition at line 404 of file ilRBACTest.php.

405 {
406 global $DIC;
407
408 $rbacreview = $DIC['rbacreview'];
409 $rbacadmin = $DIC['rbacadmin'];
410 $rbacadmin->deleteTemplate(1010);
411
412 $rbacadmin->setRolePermission(1010, "a", array(10,11,13,15), 1100);
413 $rbacadmin->setRolePermission(1010, "b", array(20,22,23,25), 1100);
414
415 $assert = array("a" => array(10,11,13,15),"b" => array(20,22,23,25));
416 $dest = $rbacreview->getAllOperationsOfRole(1010, 1100);
417
418 sort($dest["a"]);
419 sort($dest["b"]);
420
421 $this->assertEquals($assert, $dest);
422
423 $rbacadmin->deleteTemplate(1010);
424 }

References $DIC.

Field Documentation

◆ $backupGlobals

ilRBACTest::$backupGlobals = false
protected

Definition at line 38 of file ilRBACTest.php.


The documentation for this class was generated from the following file: