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);
 }
示例#2
0
 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");
 }
示例#3
0
 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);
 }
示例#6
0
 /**
  * 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);
 }