Beispiel #1
0
 /**
  * testSetGet
  *
  * @covers \RcmUser\Acl\Entity\AclRule
  *
  * @return void
  */
 public function testSetGet()
 {
     $aclRule = new AclRule();
     $rule = 'allow';
     $roleId = 'somerole';
     $resource = 'someresource';
     $privileges = ['someprivilege'];
     $assertion = 'someassertion';
     $aclRule->setRule($rule);
     $aclRule->setRoleId($roleId);
     $aclRule->setResourceId($resource);
     $aclRule->setPrivileges($privileges);
     $aclRule->setAssertion($assertion);
     $this->assertEquals($rule, $aclRule->getRule(), 'Setter or getter failed.');
     $this->assertEquals($roleId, $aclRule->getRoleId(), 'Setter or getter failed.');
     $this->assertEquals($resource, $aclRule->getResourceId(), 'Setter or getter failed.');
     $this->assertEquals($privileges, $aclRule->getPrivileges(), 'Setter or getter failed.');
     $this->assertEquals($assertion, $aclRule->getAssertion(), 'Setter or getter failed.');
     $aclRule->setPrivileges([]);
     $this->assertEquals([], $aclRule->getPrivileges(), 'Empty privileges should be stored as [].');
 }
Beispiel #2
0
 /**
  * populate
  *
  * @param array|AclRule $data data
  *
  * @return void
  * @throws RcmUserException
  */
 public function populate($data = [])
 {
     if ($data instanceof AclRule) {
         $this->setRule($data->getRule());
         $this->setRoleId($data->getRoleId());
         $this->setResourceId($data->getResourceId());
         $this->setPrivileges($data->getPrivileges());
         $this->setAssertion($data->getAssertion());
         return;
     }
     if (is_array($data)) {
         if (isset($data['rule'])) {
             $this->setRule($data['rule']);
         }
         if (isset($data['roleId'])) {
             $this->setRoleId($data['roleId']);
         }
         if (isset($data['resourceId'])) {
             $this->setResourceId($data['resourceId']);
         }
         // @bc This is only here to support older versions
         if (isset($data['privilege'])) {
             $this->setPrivilege($data['privilege']);
         }
         if (isset($data['privileges'])) {
             $this->setPrivileges($data['privileges']);
         }
         if (isset($data['assertion'])) {
             $this->setAssertion($data['assertion']);
         }
         return;
     }
     throw new RcmUserException('Rule data could not be populated, data format not supported');
 }