public function testSetupDatabase() { $testAdapter = $this->getMock('Zend_Test_DbAdapter'); $testAdapter->expects($this->any())->method('delete')->will($this->throwException(new Exception())); $connection = new Zend_Test_PHPUnit_Db_Connection($testAdapter, "schema"); $databaseTester = new Zend_Test_PHPUnit_Db_SimpleTester($connection); $dataSet = $this->getMock('PHPUnit_Extensions_Database_DataSet_IDataSet'); $dataSet->expects($this->any())->method('getIterator')->will($this->returnValue($this->getMock('Iterator'))); $dataSet->expects($this->any())->method('getReverseIterator')->will($this->returnValue($this->getMock('Iterator'))); $databaseTester->setUpDatabase($dataSet); }
public function setupDatabase() { $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', 'testing'); $db = Zend_Db::factory($config->resources->db->adapter, $config->resources->db->params); $connection = new Zend_Test_PHPUnit_Db_Connection($db, 'database_schema_name'); $databaseTester = new Zend_Test_PHPUnit_Db_SimpleTester($connection); $databaseFixture = new PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet(APPLICATION_PATH . '/../tests/application/models/dataset.xml'); $this->_preInit($db); $db->query("SET FOREIGN_KEY_CHECKS=0"); $databaseTester->setupDatabase($databaseFixture); $db->query("SET FOREIGN_KEY_CHECKS=1"); }
public function testSimpleTesterSetupAndRowsetEquals() { $dataSet = new PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet(dirname(__FILE__) . "/_files/sqliteIntegrationFixture.xml"); $fooDataTable = $dataSet->getTable("foo"); $tester = new Zend_Test_PHPUnit_Db_SimpleTester($this->getConnection()); $tester->setUpDatabase($dataSet); $fooTable = $this->createFooTable(); $rows = $fooTable->fetchAll(); $this->assertEquals(3, count($rows)); $rowsetTable = new Zend_Test_PHPUnit_Db_DataSet_DbRowset($rows); $rowsetTable->assertEquals($fooDataTable); }
protected function setupDatabase() { $db = $this->bootstrap->getBootstrap()->getResource('db'); $connection = new Zend_Test_PHPUnit_Db_Connection($db, ''); $databaseTester = new Zend_Test_PHPUnit_Db_SimpleTester($connection); $databaseTester->setupDatabase($this->getDataSet()); if ($this->truncateFixturesWhenTearDown) { $databaseTester->setTearDownOperation(new Zend_Test_PHPUnit_Db_Operation_Truncate()); // truncate database when call teardown } $this->databaseTester = $databaseTester; }
/** * * Loads the SQL fixtures from array * * @param array $dataSetsAsArray */ protected function loadSqlFixtureFromArray(array $dataSetsAsArray) { $databaseFixture = new ArrayDataSet($dataSetsAsArray); $connection = new \Zend_Test_PHPUnit_Db_Connection($this->getDbAdapter(), 'test_db'); $databaseTester = new \Zend_Test_PHPUnit_Db_SimpleTester($connection); $databaseTester->setSetUpOperation(new DbOperationInsert()); $databaseTester->setupDatabase($databaseFixture); }
/** * Setup database using XML files. * * @param string|array $files * @param null|string $module */ public function setupDatabase($files, $module = null) { $db = Zend_Registry::get('dbAdapter'); $configDatabase = Zend_Registry::get('configDatabase'); $connection = new Zend_Test_PHPUnit_Db_Connection($db, $configDatabase->database->params->dbname); $databaseTester = new Zend_Test_PHPUnit_Db_SimpleTester($connection); if (is_array($files)) { foreach ($files as $f) { $path = BASE_PATH . '/core/tests/databaseDataset/' . $f . '.xml'; if (isset($module)) { $path = BASE_PATH . '/modules/' . $module . '/tests/databaseDataset/' . $f . '.xml'; } $databaseFixture = new PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet($path); $databaseTester->setupDatabase($databaseFixture); } } else { $path = BASE_PATH . '/core/tests/databaseDataset/' . $files . '.xml'; if (isset($module)) { $path = BASE_PATH . '/modules/' . $module . '/tests/databaseDataset/' . $files . '.xml'; } $databaseFixture = new PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet($path); $databaseTester->setupDatabase($databaseFixture); } if ($configDatabase->database->adapter == 'PDO_PGSQL') { $db->query("SELECT setval('assetstore_assetstore_id_seq', (SELECT MAX(assetstore_id) FROM assetstore)+1);"); $db->query("SELECT setval('bitstream_bitstream_id_seq', (SELECT MAX(bitstream_id) FROM bitstream)+1);"); $db->query("SELECT setval('feed_feed_id_seq', (SELECT MAX(feed_id) FROM feed)+1);"); $db->query("SELECT setval('user_user_id_seq', (SELECT MAX(user_id) FROM \"user\")+1);"); $db->query("SELECT setval('folder_folder_id_seq', (SELECT MAX(folder_id) FROM folder)+1);"); $db->query("SELECT setval('item_item_id_seq', (SELECT MAX(item_id) FROM item)+1);"); $db->query("SELECT setval('itemrevision_itemrevision_id_seq', (SELECT MAX(itemrevision_id) FROM itemrevision)+1);"); $db->query("SELECT setval('folder_folder_id_seq', (SELECT MAX(folder_id) FROM folder)+1);"); $db->query("SELECT setval('bitstream_bitstream_id_seq', (SELECT MAX(bitstream_id) FROM bitstream)+1);"); $db->query("SELECT setval('license_license_id_seq', (SELECT MAX(license_id) FROM license)+1);"); $db->query("SELECT setval('metadata_metadata_id_seq', (SELECT MAX(metadata_id) FROM metadata)+1);"); $db->query("SELECT setval('setting_setting_id_seq', (SELECT MAX(setting_id) FROM setting)+1);"); $db->query("SELECT setval('user_user_id_seq', (SELECT MAX(user_id) FROM \"user\")+1);"); } }
/** * Assert that a given table has a given amount of rows * * @param string $tableName Name of the table * @param int $expected Expected amount of rows in the table * @param string $message Optional message */ public function assertTableRowCount($tableName, $expected, $message = '') { $constraint = new PHPUnit_Extensions_Database_Constraint_TableRowCount($tableName, $expected); $actual = $this->databaseTester->getConnection()->getRowCount($tableName); self::assertThat($actual, $constraint, $message); }