public function testExcludeFilteredDataSet() { $constraint = new PHPUnit_Extensions_Database_Constraint_DataSetIsEqual($this->expectedDataSet); $dataSet = new PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet(dirname(__FILE__) . '/../_files/XmlDataSets/FilteredTestComparison.xml'); $filteredDataSet = new PHPUnit_Extensions_Database_DataSet_DataSetFilter($dataSet); $filteredDataSet->addExcludeTables(array('table2')); $filteredDataSet->setExcludeColumnsForTable('table1', array('table1_id')); $filteredDataSet->setExcludeColumnsForTable('table3', array('table3_id')); self::assertThat($filteredDataSet, $constraint); }
public function testManagerAssignWithPath() { self::$rbac->Permissions->addPath('/permissions_1/permissions_2/permissions_3'); self::$rbac->Roles->addPath('/roles_1/roles_2/roles_3'); self::$rbac->assign('/roles_1/roles_2', '/permissions_1/permissions_2'); $dataSet = $this->getConnection()->createDataSet(); $filterDataSet = new \PHPUnit_Extensions_Database_DataSet_DataSetFilter($dataSet); $filterDataSet->addExcludeTables(array(self::$rbac->tablePrefix() . 'userroles')); $filterDataSet->setExcludeColumnsForTable(self::$rbac->tablePrefix() . 'rolepermissions', array('AssignmentDate')); $expectedDataSet = $this->createFlatXmlDataSet(dirname(__FILE__) . '/datasets/manager/expected_assign_path.xml'); $this->assertDataSetsEqual($expectedDataSet, $filterDataSet); }
public function testManagerAssignWithPath() { $emptyDescrips = array(null, null, null); self::$rbac->Permissions->addPath('/permissions_1/permissions_2/permissions_3', $emptyDescrips); self::$rbac->Roles->addPath('/roles_1/roles_2/roles_3', $emptyDescrips); self::$rbac->assign('/roles_1/roles_2', '/permissions_1/permissions_2'); $dataSet = $this->getConnection()->createDataSet(); $filterDataSet = new \PHPUnit_Extensions_Database_DataSet_DataSetFilter($dataSet); $filterDataSet->addExcludeTables(array(self::$rbac->tablePrefix() . 'userroles')); $filterDataSet->setExcludeColumnsForTable(self::$rbac->tablePrefix() . 'rolepermissions', array('assignmentdate')); $expectedDataSet = $this->_dataSet('/manager/expected_assign_path'); $this->assertDataSetsEqual($expectedDataSet, $filterDataSet); }
public function testRolesRemoveSinglePermission() { $perm_id_1 = self::$rbac->Permissions->add('permissions_1', 'permissions Description 1'); $perm_id_2 = self::$rbac->Permissions->add('permissions_2', 'permissions Description 2'); $perm_id_3 = self::$rbac->Permissions->add('permissions_3', 'permissions Description 3'); $role_id_1 = $this->Instance()->add($this->type() . '_1', $this->type() . ' Description 1'); $role_id_2 = $this->Instance()->add($this->type() . '_2', $this->type() . ' Description 2'); $role_id_3 = $this->Instance()->add($this->type() . '_3', $this->type() . ' Description 3'); $this->Instance()->assign($role_id_1, $perm_id_1); $this->Instance()->assign($role_id_1, $perm_id_2); $this->Instance()->assign($role_id_1, $perm_id_3); self::$rbac->Users->assign($role_id_1, 5); $this->Instance()->remove($role_id_1); $dataSet = $this->getConnection()->createDataSet(); $filterDataSet = new \PHPUnit_Extensions_Database_DataSet_DataSetFilter($dataSet); $filterDataSet->addExcludeTables(array($this->Instance()->tablePrefix() . 'permissions')); $filterDataSet->setExcludeColumnsForTable($this->Instance()->tablePrefix() . 'rolepermissions', array('assignmentdate')); $filterDataSet->setExcludeColumnsForTable($this->Instance()->tablePrefix() . 'userroles', array('assignmentdate')); $expectedDataSet = $this->_dataSet($this->type() . '/expected_remove_single_permission'); $this->assertDataSetsEqual($expectedDataSet, $filterDataSet); }
private function getFilterDataset() { #Example showing include block /* // Filtered Include dataset $dataSet = $this->getArrayDataset(); $filterDataSet = new PHPUnit_Extensions_Database_DataSet_DataSetFilter($dataSet); $filterDataSet->addIncludeTables(array('user')); $filterDataSet->setIncludeColumnsForTable('user', array('id')); return $filterDataSet; #*/ #Example showing exclude block #/* // Filtered Exclude dataset $dataSet = $this->getArrayDataset(); $filterDataSet = new PHPUnit_Extensions_Database_DataSet_DataSetFilter($dataSet); $filterDataSet->addExcludeTables(array('user', 'address')); // only keep the guestbook table! $filterDataSet->setExcludeColumnsForTable('class', array('uid')); return $filterDataSet; #*/ }
public function testAssignWithPath() { self::$rbac->Permissions->add('permissions_1', 'permissions Description 1'); self::$rbac->Roles->add('roles_1', 'roles Description 1'); $this->Instance()->assign('/roles_1', '/permissions_1'); $dataSet = $this->getConnection()->createDataSet(); $filterDataSet = new \PHPUnit_Extensions_Database_DataSet_DataSetFilter($dataSet); $filterDataSet->addExcludeTables(array($this->Instance()->tablePrefix() . 'userroles')); $filterDataSet->setExcludeColumnsForTable($this->Instance()->tablePrefix() . 'rolepermissions', array('assignmentdate')); $expectedDataSet = $this->_dataSet('base/expected_assign_' . $this->type()); $this->assertDataSetsEqual($expectedDataSet, $filterDataSet); }