/** * 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 [].'); }
/** * 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'); }