Beispiel #1
0
 /**
  * Test role synchronisation
  */
 public function testRoleSynchronisation()
 {
     // create a first test ACL role
     $query = $this->model->insert()->into('acl_role')->values(['name' => 'test role 1']);
     $statement = $this->model->prepareStatementForSqlObject($query);
     $statement->execute();
     $this->aclRolesIds[] = $this->model->getAdapter()->getDriver()->getLastGeneratedValue();
     // create a test user
     $query = $this->model->insert()->into('user_list')->values(['nick_name' => Rand::getString(32), 'email' => Rand::getString(32), 'role' => $this->aclRolesIds[0]]);
     $statement = $this->model->prepareStatementForSqlObject($query);
     $statement->execute();
     $this->usersIds[] = $this->model->getAdapter()->getDriver()->getLastGeneratedValue();
     // delete the created ACL role
     $query = $this->model->delete()->from('acl_role')->where(['id' => $this->aclRolesIds[0]]);
     $statement = $this->model->prepareStatementForSqlObject($query);
     $statement->execute();
     // fire the delete ACL role event
     AclEvent::fireDeleteAclRoleEvent($this->aclRolesIds[0]);
     // check the created test user's role
     $select = $this->model->select();
     $select->from('user_list')->columns(['role'])->where(['user_id' => $this->usersIds[0]]);
     $statement = $this->model->prepareStatementForSqlObject($select);
     $resultSet = new ResultSet();
     $result = $resultSet->initialize($statement->execute());
     // user must be a default member
     $this->assertEquals($result->current()['role'], AclBaseModel::DEFAULT_ROLE_MEMBER);
 }
Beispiel #2
0
 /**
  * Tear down
  */
 protected function tearDown()
 {
     // delete test user
     if ($this->userId) {
         $query = $this->aclModelBase->delete()->from('user_list')->where(['user_id' => $this->userId]);
         $statement = $this->aclModelBase->prepareStatementForSqlObject($query);
         $statement->execute();
         $this->userId = null;
     }
     // delete acl test resources
     if ($this->aclResourcesIds) {
         $query = $this->aclModelBase->delete()->from('acl_resource')->where(['id' => $this->aclResourcesIds]);
         $statement = $this->aclModelBase->prepareStatementForSqlObject($query);
         $statement->execute();
         $this->aclResourcesIds = [];
     }
 }