ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
ilRBACTest Class Reference

Unit tests for tree table. More...

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

Public Member Functions

 testRbacFA ()
 RBAC FA tests IL_Init. More...
 
 testRbacUA ()
 test rbac_ua IL_Init More...
 
 testRbacTA ()
 rbac ta test IL_Init More...
 
 testRbacPA ()
 test rbac_pa IL_Init More...
 
 testConditions ()
 test preconditions IL_Init More...
 
 testCache ()
 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 ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testAssignOperationToObject. More...
 

Protected Member Functions

 setUp ()
 

Protected Attributes

 $backupGlobals = FALSE
 

Detailed Description

Unit tests for tree table.

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

Definition at line 33 of file ilRBACTest.php.

Member Function Documentation

◆ setUp()

ilRBACTest::setUp ( )
protected

Definition at line 37 of file ilRBACTest.php.

38  {
39  include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
40  ilUnitUtil::performInitialisation();
41  }

◆ testAssignOperationToObject()

ilRBACTest::testAssignOperationToObject ( )

Test assignOperationToObject Method DB: rbac_ta.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin

Definition at line 654 of file ilRBACTest.php.

655  {
656  global $rbacreview, $rbacadmin;
657 
658  $rbacadmin->assignOperationToObject(1001,10);
659  $rbacadmin->assignOperationToObject(1001,20);
660 
661  $this->assertEquals($rbacreview->getOperationsOnType(1001), array(10,20));
662  }

◆ testAssignUser()

ilRBACTest::testAssignUser ( )

Test Assign User Method DB: rbac_ua.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin

Definition at line 186 of file ilRBACTest.php.

187  {
188  global $rbacreview, $rbacadmin;
189  //assign User 15 to role 10
190  $rbacadmin->assignUser(10,15);
191 
192  $this->assertTrue($rbacreview->isAssigned(15,10));
193 
194  //Test double assign
195  $rbacadmin->assignUser(10,15);
196  }

◆ testCache()

ilRBACTest::testCache ( )

IL_Init

Definition at line 166 of file ilRBACTest.php.

References $res.

167  {
168  include_once './Services/AccessControl/classes/class.ilAccessHandler.php';
169 
170  $handler = new ilAccessHandler();
171  $handler->setResults(array(1,2,3));
172  $handler->storeCache();
173  $handler->readCache();
174  $res = $handler->getResults();
175 
176  $this->assertEquals(array(1,2,3),$res);
177  }
Class ilAccessHandler.

◆ testConditions()

ilRBACTest::testConditions ( )

test preconditions IL_Init

Parameters

Definition at line 130 of file ilRBACTest.php.

References ilConditionHandler\_deleteTargetConditionsByRefId(), ilConditionHandler\_getCondition(), ilConditionHandler\_getConditionsOfTarget(), ilConditionHandler\_getConditionsOfTrigger(), and ilConditionHandler\_getDistinctTargetRefIds().

131  {
132  include_once './Services/AccessControl/classes/class.ilConditionHandler.php';
133 
136 
137  $handler = new ilConditionHandler();
138  $handler->setTargetRefId(99999);
139  $handler->setTargetObjId(99998);
140  $handler->setTargetType('xxx');
141  $handler->setTriggerRefId(99997);
142  $handler->setTriggerObjId(99996);
143  $handler->setTriggerType('yyy');
144  $handler->setReferenceHandlingType(0);
145  $handler->enableAutomaticValidation(false);
146  $suc = $handler->storeCondition();
147  $this->assertEquals($suc,true);
148 
149  $suc = $handler->checkExists();
150  $this->assertEquals($suc,false);
151 
152  $suc = $handler->delete(99999);
153  $this->assertEquals($suc,true);
154 
155  // syntax check
156  $handler->deleteByObjId(-1);
157  $handler->deleteCondition(-1);
161  }
_getConditionsOfTrigger($a_trigger_obj_type, $a_trigger_id)
get all conditions of trigger object
static _getConditionsOfTarget($a_target_ref_id, $a_target_obj_id, $a_target_type="")
get all conditions of target object
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...
Handles conditions for accesses to different ILIAS objects.
+ Here is the call graph for this function:

◆ testCopyRolePermissionIntersection()

ilRBACTest::testCopyRolePermissionIntersection ( )

Test Copy Role Permission Intersection Method DB: rbac_template.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testSetRolePermission

Definition at line 537 of file ilRBACTest.php.

538  {
539  global $rbacreview, $rbacadmin;
540  $rbacadmin->deleteTemplate(1010);
541  $rbacadmin->deleteTemplate(2020);
542  $rbacadmin->deleteTemplate(3030);
543 
544  $rbacadmin->setRolePermission(1010,"a",array(10,11,13,15),1100);
545  $rbacadmin->setRolePermission(2020,"a",array(11,12,13,16),2200);
546 
547  $rbacadmin->setRolePermission(1010,"b",array(20,22,23,25),1100);
548  $rbacadmin->setRolePermission(2020,"b",array(20,23,24,26),2200);
549 
550  $rbacadmin->setRolePermission(3030,"c",array(30,33),3300);
551  $rbacadmin->setRolePermission(3030,"a",array(30,33),3300);
552  $rbacadmin->setRolePermission(3030,"b",array(30,33),3300);
553 
554  $rbacadmin->copyRolePermissionIntersection(1010,1100,2020,2200,3300,3030);
555 
556  $intersect = array("a" => array(11,13), "b" => array(20,23));
557  $dest = $rbacreview->getAllOperationsOfRole(3030,3300);
558 
559  //sort
560  sort($dest["a"]);
561  sort($dest["b"]);
562 
563  $this->assertEquals($intersect, $dest);
564 
565  $rbacadmin->deleteTemplate(1010);
566  $rbacadmin->deleteTemplate(2020);
567  $rbacadmin->deleteTemplate(3030);
568  }

◆ testCopyRolePermissions()

ilRBACTest::testCopyRolePermissions ( )

Test Method DB: rbac_template DB: rbac_pa.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testGrantPermission testRevokePermission testSetRolePermission

Definition at line 468 of file ilRBACTest.php.

References $ilDB, and $row.

469  {
470  global $rbacreview, $rbacadmin, $ilDB;
471 
472  $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';");
473 
474  $seas = 0;
475 
476  while($row = $ilDB->fetchAssoc($req))
477  {
478  $seas = $row["ref_id"];
479  }
480 
481  $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';");
482 
483  $mail = 0;
484 
485  while($row = $ilDB->fetchAssoc($req))
486  {
487  $mail = $row["ref_id"];
488  }
489 
490  $req = $ilDB->query("SELECT obj_id FROM object_data WHERE type='role';");
491  $ilDB->fetchAssoc($req);//First role is protected. Dont use it!
492  $role = $ilDB->fetchAssoc($req)["obj_id"];
493 
494  //save normal operations
495  $opt_mail = $rbacreview->getActiveOperationsOfRole($mail, $role);
496  $opt_seas = $rbacreview->getActiveOperationsOfRole($seas, $role);
497  $opt_temp_seas = $rbacreview->getAllOperationsOfRole($role, $seas);
498  $opt_temp_mail = $rbacreview->getAllOperationsOfRole($role, $mail);
499 
500  //set values
501  $rbacadmin->setRolePermission($role, "mail", array(1,2,3,4,5),$mail);
502  $rbacadmin->grantPermission($role, array(1,2,3,4,5), $mail);
503  $rbacadmin->setRolePermission($role, "seas", array(5,6,7,8,9),$seas);
504  $rbacadmin->grantPermission($role, array(5,6,7,8,9), $seas);
505 
506  $rbacadmin->copyRolePermissions($role,$seas,$mail, $role);
507  $this->assertEquals($rbacreview->getActiveOperationsOfRole($seas, $role),
508  $rbacreview->getActiveOperationsOfRole($mail, $role));
509 
510  //set normal operations
511  $rbacadmin->grantPermission($role,$opt_seas,$seas);
512  $rbacadmin->grantPermission($role,$opt_mail,$mail);
513 
514  $rbacadmin->deleteRolePermission($role,$mail);
515  $rbacadmin->deleteRolePermission($role,$seas);
516 
517  foreach($opt_temp_seas as $type => $opt)
518  {
519  $rbacadmin->setRolePermission($role, $type, $opt,$seas);
520  }
521 
522  foreach($opt_temp_mail as $type => $opt)
523  {
524  $rbacadmin->setRolePermission($role, $type, $opt,$mail);
525  }
526 
527  }
global $ilDB

◆ testCopyRolePermissionSubtract()

ilRBACTest::testCopyRolePermissionSubtract ( )

Test Copy Role Permission Subtract Method DB: rbac_template.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testSetRolePermission

Definition at line 618 of file ilRBACTest.php.

619  {
620  global $rbacreview, $rbacadmin;
621  $rbacadmin->deleteTemplate(1010);
622  $rbacadmin->deleteTemplate(2020);
623 
624  $rbacadmin->setRolePermission(1010,"a",array(10,11,13,15),1100);
625  $rbacadmin->setRolePermission(2020,"a",array(11,12,13,16),2200);
626 
627  $rbacadmin->setRolePermission(1010,"b",array(20,22,23,25),1100);
628  $rbacadmin->setRolePermission(2020,"b",array(20,23,24,26),2200);
629 
630  $rbacadmin->setRolePermission(2020,"c",array(30,33,34,35),2200);
631 
632  $rbacadmin->copyRolePermissionSubtract(1010,1100,2020,2200);
633 
634  $subtract = array("a" => array(12,16), "b" => array(24,26), "c" => array(30,33,34,35));
635  $dest = $rbacreview->getAllOperationsOfRole(2020,2200);
636 
637  sort($dest["a"]);
638  sort($dest["b"]);
639  sort($dest["c"]);
640 
641  $this->assertEquals($subtract, $dest);
642 
643  $rbacadmin->deleteTemplate(1010);
644  $rbacadmin->deleteTemplate(2020);
645  }

◆ testCopyRolePermissionUnion()

ilRBACTest::testCopyRolePermissionUnion ( )

Test Copy Role Permission Union Method DB: rbac_template.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testCopyRoleTemplatePermissions testSetRolePermission

Definition at line 579 of file ilRBACTest.php.

580  {
581  global $rbacreview, $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(1010,"c",array(30,33,34,35),1100);
593 
594  $rbacadmin->copyRolePermissionUnion(1010,1100,2020,2200,3030,3300);
595 
596  $union = array("a" => array(10,11,12,13,15,16), "b" => array(20,22,23,24,25,26), "c" => array(30,33,34,35));
597  $dest = $rbacreview->getAllOperationsOfRole(3030,3300);
598 
599  sort($dest["a"]);
600  sort($dest["b"]);
601  sort($dest["c"]);
602 
603  $this->assertEquals($union, $dest);
604 
605  $rbacadmin->deleteTemplate(1010);
606  $rbacadmin->deleteTemplate(2020);
607  $rbacadmin->deleteTemplate(3030);
608  }

◆ testCopyRoleTemplatePermissions()

ilRBACTest::testCopyRoleTemplatePermissions ( )

Test Copy Role Template Permission Method DB: rbac_template.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testSetRolePermission

Definition at line 437 of file ilRBACTest.php.

438  {
439  global $rbacreview, $rbacadmin;
440  $rbacadmin->deleteTemplate(1010);
441  $rbacadmin->deleteTemplate(2020);
442 
443  $rbacadmin->setRolePermission(1010,"blub",array(10,11),1100);
444  $rbacadmin->setRolePermission(2020,"bulb",array(20,22),2200);
445 
446  $rbacadmin->copyRoleTemplatePermissions(1010,1100,2200,2020);
447 
448  $one = $rbacreview->getAllOperationsOfRole(1010,1100);
449  $two = $rbacreview->getAllOperationsOfRole(2020,2200);
450  sort($one["blub"]);
451  sort($two["blub"]);
452  $this->assertEquals($one, $two);
453  $rbacadmin->deleteTemplate(1010);
454  $rbacadmin->deleteTemplate(2020);
455  }

◆ testDeassignOperationFromObject()

ilRBACTest::testDeassignOperationFromObject ( )

Test deassignOperationFromObject Method ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testAssignOperationToObject.

Definition at line 670 of file ilRBACTest.php.

671  {
672  global $rbacreview, $rbacadmin;
673  $rbacadmin->deassignOperationFromObject(1001,10);
674 
675  $this->assertEquals($rbacreview->getOperationsOnType(1001), array(20));
676 
677  $rbacadmin->deassignOperationFromObject(1001,20);
678 
679  $this->assertEmpty($rbacreview->getOperationsOnType(1001));
680  }

◆ testDeassignUser()

ilRBACTest::testDeassignUser ( )

Test deassign user Method DB: rbac_ua.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testAssignUser

Definition at line 206 of file ilRBACTest.php.

207  {
208  global $rbacreview, $rbacadmin;
209  //deassign User 15 from role 10
210  $rbacadmin->deassignUser(10,15);
211 
212  $this->assertFalse($rbacreview->isAssigned(15,10));
213  }

◆ testDeleteRolePermission()

ilRBACTest::testDeleteRolePermission ( )

Test Delete Role Permission Method DB: rbac_template.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testSetRolePermission

Definition at line 402 of file ilRBACTest.php.

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

◆ testGrantPermission()

ilRBACTest::testGrantPermission ( )

Test grant Permission Method DB: rbac_pa.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin

Definition at line 222 of file ilRBACTest.php.

223  {
224  global $rbacreview, $rbacadmin;
225  //grant permissions 10,20 and 30 for role 10 on object 60
226  $rbacadmin->grantPermission(10,array(10,20,30),60);
227 
228  $this->assertEquals($rbacreview->getActiveOperationsOfRole(60,10), array(10,20,30));
229  }

◆ testRbacFA()

ilRBACTest::testRbacFA ( )

RBAC FA tests IL_Init.

Parameters

Definition at line 49 of file ilRBACTest.php.

50  {
51  global $rbacreview,$rbacadmin;
52 
53  // Protected
54  #$rbacadmin->setProtected(1,4,'y');
55  #$prot = $rbacreview->isProtected(8,4);
56  #$this->assertEquals($prot,true);
57  #$rbacadmin->setProtected(1,4,'n');
58  #$prot = $rbacreview->isProtected(8,4);
59  #$this->assertEquals($prot,false);
60 
61  $rbacreview->getRoleListByObject(8);
62  $rbacreview->getAssignableRoles();
63 
64 
65  $ass = $rbacreview->isAssignable(4,8);
66  $this->assertEquals($ass,true);
67 
68  $roles = $rbacreview->getRolesOfObject(8);
69 
70  $obj = $rbacreview->getObjectOfRole(4);
71  $this->assertEquals(8,$obj);
72  }

◆ testRbacPA()

ilRBACTest::testRbacPA ( )

test rbac_pa IL_Init

Definition at line 113 of file ilRBACTest.php.

114  {
115  global $rbacreview,$rbacadmin;
116 
117  $sess_ops = $rbacreview->getOperationsOnTypeString('cat');
118 
119  $rbacadmin->revokePermission(1,4);
120  $rbacadmin->grantPermission(4,array(2,3),1);
121 
122  }

◆ testRbacTA()

ilRBACTest::testRbacTA ( )

rbac ta test IL_Init

Parameters

Definition at line 94 of file ilRBACTest.php.

95  {
96  global $rbacreview,$rbacadmin;
97 
98  $sess_ops = $rbacreview->getOperationsOnTypeString('sess');
99 
100  $rbacadmin->assignOperationToObject($rbacreview->getTypeId('sess'),'7');
101  //$new_sess_ops = $rbacreview->getOperationsOnTypeString('sess');
102  //$this->assertEquals(array_merge($sess_ops,array(7)),$new_sess_ops);
103 
104  $rbacadmin->deassignOperationFromObject($rbacreview->getTypeId('sess'),'7');
105  $new_sess_ops = $rbacreview->getOperationsOnTypeString('sess');
106  $this->assertEquals($sess_ops,$new_sess_ops);
107  }

◆ testRbacUA()

ilRBACTest::testRbacUA ( )

test rbac_ua IL_Init

Definition at line 78 of file ilRBACTest.php.

References ilUtil\_getObjectsByOperations().

79  {
80  global $rbacreview,$rbacadmin;
81 
82  $obj = ilUtil::_getObjectsByOperations('crs','join');
83 
84  $rbacreview->assignedUsers(4);
85  $rbacreview->assignedRoles(6);
86  }
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.
+ Here is the call graph for this function:

◆ testRevokePermission()

ilRBACTest::testRevokePermission ( )

Test revoke Permission Method DB: rbac_pa.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testGrantPermission

Definition at line 240 of file ilRBACTest.php.

References $ilDB, $ref_id, and $row.

241  {
242  global $rbacreview, $rbacadmin, $ilDB;
243 
244  $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';");
245 
246  $ref_id = 0;
247 
248  while($row = $ilDB->fetchAssoc($req))
249  {
250  $ref_id = $row["ref_id"];
251  }
252 
253  $req = $ilDB->query("SELECT obj_id FROM object_data WHERE type='role';");
254  $ilDB->fetchAssoc($req);//First role is protected. Dont use it!
255  $role1 = $ilDB->fetchAssoc($req)["obj_id"];
256  $role2 = $ilDB->fetchAssoc($req)["obj_id"];
257  $role3 = $ilDB->fetchAssoc($req)["obj_id"];
258 
259  //save normal operations
260  $opt1 = $rbacreview->getActiveOperationsOfRole($ref_id,$role1);
261  $opt2 = $rbacreview->getActiveOperationsOfRole($ref_id,$role2);
262  $opt3 = $rbacreview->getActiveOperationsOfRole($ref_id,$role3);
263 
264  $rbacadmin->grantPermission($role1, array(1,2,3,4,5), $ref_id);
265  $rbacadmin->grantPermission($role2, array(1,2,3,4,5), $ref_id);
266  //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role1), array(1,2,3,4,5));
267  //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role2), array(1,2,3,4,5));
268  $rbacadmin->revokePermission($ref_id);
269  $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id,$role1));
270  $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id,$role2));
271 
272 
273  $rbacadmin->grantPermission($role1, array(1,2,3,4,5), $ref_id);
274  //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role1), array(1,2,3,4,5));
275  $rbacadmin->revokePermission($ref_id, $role1);
276  $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id,$role1));
277 
278 
279  $rbacadmin->grantPermission($role2, array(1,2,3,4,5), $ref_id);
280  $rbacadmin->grantPermission($role3, array(1,2,3,4,5), $ref_id);
281  //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role2), array(1,2,3,4,5));
282  //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role3), array(1,2,3,4,5));
283  $rbacadmin->revokePermission($ref_id,0,false);
284  $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id,$role2));
285  $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id,$role3));
286 
287  $rbacadmin->grantPermission($role3, array(1,2,3,4,5), $ref_id);
288  //$this->assertEquals($rbacreview->getActiveOperationsOfRole($ref_id,$role3), array(1,2,3,4,5));
289  $rbacadmin->revokePermission($ref_id, $role3, false);
290  $this->assertEmpty($rbacreview->getActiveOperationsOfRole($ref_id,$role3));
291 
292  //set normal operations
293  $rbacadmin->grantPermission($role1, $opt1, $ref_id);
294  $rbacadmin->grantPermission($role2, $opt2, $ref_id);
295  $rbacadmin->grantPermission($role3, $opt3, $ref_id);
296  }
$ref_id
Definition: sahs_server.php:39
global $ilDB

◆ testRevokePermissionList()

ilRBACTest::testRevokePermissionList ( )

Test revokePermissionList Method DB: rbac_pa.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testGrantPermission

Definition at line 350 of file ilRBACTest.php.

351  {
352  global $rbacreview, $rbacadmin;
353  $list = array(1001, 1003, 1005, 1007);
354 
355  foreach($list as $id)
356  {
357  $rbacadmin->grantPermission(123, array(1,2,3,4,5),$id);
358  }
359 
360  $rbacadmin->revokePermissionList($list, 123);
361 
362  foreach($list as $id)
363  {
364  $this->assertEmpty($rbacreview->getActiveOperationsOfRole($id,123));
365  }
366  }

◆ testRevokeSubtreePermissions()

ilRBACTest::testRevokeSubtreePermissions ( )

Test revokeSubtreePermissions Method DB: rbac_pa.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin testGrantPermission

Definition at line 306 of file ilRBACTest.php.

References $ilDB, $ref_id, and $row.

307  {
308  global $rbacreview, $rbacadmin, $tree, $ilDB;
309  $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';");
310 
311  $ref_id = 0;
312 
313  while($row = $ilDB->fetchAssoc($req))
314  {
315  $ref_id = $row["ref_id"];
316  }
317 
318  $childs = $tree->getChildIds($ref_id);
319 
320  $req = $ilDB->query("SELECT obj_id FROM object_data WHERE type='role';");
321  $ilDB->fetchAssoc($req);//First role is protected. Dont use it!
322  $role = $ilDB->fetchAssoc($req)["obj_id"];
323 
324  $ops = array();
325 
326  foreach($childs as $id)
327  {
328  $ops[$id] = $rbacreview->getActiveOperationsOfRole($id,$role);//save normal operations
329  $rbacadmin->grantPermission($role, array(1,2,3,4,5),$id);
330  //$this->assertEquals($rbacreview->getActiveOperationsOfRole($id,$role), array(1,2,3,4,5));
331  }
332 
333  $rbacadmin->revokeSubtreePermissions($ref_id,$role);
334 
335  foreach($childs as $id)
336  {
337  $this->assertEmpty($rbacreview->getActiveOperationsOfRole($id,$role));
338  $rbacadmin->grantPermission($role, $ops[$id],$id);//set normal operations
339  }
340  }
$ref_id
Definition: sahs_server.php:39
global $ilDB

◆ testSetRolePermission()

ilRBACTest::testSetRolePermission ( )

Test Set Role Permission Method DB: rbac_template.

ilRbacReview $rbacreview ilRbacAdmin $rbacadmin

Definition at line 375 of file ilRBACTest.php.

376  {
377  global $rbacreview, $rbacadmin;
378  $rbacadmin->deleteTemplate(1010);
379 
380  $rbacadmin->setRolePermission(1010,"a",array(10,11,13,15),1100);
381  $rbacadmin->setRolePermission(1010,"b",array(20,22,23,25),1100);
382 
383  $assert = array("a" => array(10,11,13,15),"b" => array(20,22,23,25));
384  $dest = $rbacreview->getAllOperationsOfRole(1010,1100);
385 
386  sort($dest["a"]);
387  sort($dest["b"]);
388 
389  $this->assertEquals($assert, $dest);
390 
391  $rbacadmin->deleteTemplate(1010);
392  }

Field Documentation

◆ $backupGlobals

ilRBACTest::$backupGlobals = FALSE
protected

Definition at line 35 of file ilRBACTest.php.


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