mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-31 09:09:59 +09:00
Added mock DB classes.
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9787 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
ad7dda9b75
commit
aada2366d1
5 changed files with 90 additions and 3 deletions
|
|
@ -30,6 +30,7 @@
|
||||||
require_once(_XE_PATH_.'classes/db/DBCubrid.class.php');
|
require_once(_XE_PATH_.'classes/db/DBCubrid.class.php');
|
||||||
require_once(_XE_PATH_.'classes/db/DBMssql.class.php');
|
require_once(_XE_PATH_.'classes/db/DBMssql.class.php');
|
||||||
require_once(_XE_PATH_.'classes/db/DBMysql.class.php');
|
require_once(_XE_PATH_.'classes/db/DBMysql.class.php');
|
||||||
|
require_once(_XE_PATH_.'test-phpUnit/db/MockDb.php');
|
||||||
|
|
||||||
require_once(_XE_PATH_.'classes/xml/xmlquery/DBParser.class.php');
|
require_once(_XE_PATH_.'classes/xml/xmlquery/DBParser.class.php');
|
||||||
require_once(_XE_PATH_.'classes/xml/xmlquery/argument/Argument.class.php');
|
require_once(_XE_PATH_.'classes/xml/xmlquery/argument/Argument.class.php');
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,9 @@
|
||||||
$db_info->slave_db = array(array('db_type' => 'cubrid','db_table_prefix' => 'xe_'));
|
$db_info->slave_db = array(array('db_type' => 'cubrid','db_table_prefix' => 'xe_'));
|
||||||
|
|
||||||
$oContext->setDbInfo($db_info);
|
$oContext->setDbInfo($db_info);
|
||||||
DB::getParser(true);
|
|
||||||
|
$db = new MockDb();
|
||||||
|
$db->getParser(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
81
test-phpUnit/db/MockDb.php
Normal file
81
test-phpUnit/db/MockDb.php
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Mock database base class
|
||||||
|
*
|
||||||
|
* Used to load mock classes instead of actual ones,
|
||||||
|
* so that connect methods can be skipped
|
||||||
|
*/
|
||||||
|
class MockDb extends DB {
|
||||||
|
|
||||||
|
function &getParser($force = false){
|
||||||
|
static $dbParser = null;
|
||||||
|
if(!$dbParser || $force) {
|
||||||
|
$oDB = &MockDb::getInstance();
|
||||||
|
$dbParser = $oDB->getParser();
|
||||||
|
DB::getParser(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $dbParser;
|
||||||
|
}
|
||||||
|
|
||||||
|
function &getInstance(){
|
||||||
|
$db_type = Context::getDBType();
|
||||||
|
|
||||||
|
if(!isset($GLOBALS['__DB__'])) $GLOBALS['__DB__'] = array();
|
||||||
|
if(!isset($GLOBALS['__DB__'][$db_type])) {
|
||||||
|
switch($db_type){
|
||||||
|
case 'mssql' :
|
||||||
|
$GLOBALS['__DB__'][$db_type] = new MockDBMssql; break;
|
||||||
|
case 'mysql' :
|
||||||
|
$GLOBALS['__DB__'][$db_type] = new MockDBMysql; break;
|
||||||
|
case 'cubrid' :
|
||||||
|
$GLOBALS['__DB__'][$db_type] = new MockDBCubrid; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $GLOBALS['__DB__'][$db_type];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Mock up for MS SQL class
|
||||||
|
*
|
||||||
|
* Overrides default constructor in order to skip connect method
|
||||||
|
*/
|
||||||
|
class MockDBMssql extends DBMssql {
|
||||||
|
function MockDBMssql(){
|
||||||
|
$this->_setDBInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Mock up for CUBRID class
|
||||||
|
*
|
||||||
|
* Overrides default constructor in order to skip connect method
|
||||||
|
*/
|
||||||
|
class MockDBCubrid extends DBCubrid {
|
||||||
|
function MockDBCubrid(){
|
||||||
|
$this->_setDBInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Mock up for Mysql class
|
||||||
|
*
|
||||||
|
* Overri des default constructor in order to skip connect method.
|
||||||
|
*/
|
||||||
|
class MockDBMysql extends DBMysql {
|
||||||
|
function MockDBMysql(){
|
||||||
|
$this->_setDBInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Overrides mysql_real_escape_string, that returns null when no connection is present
|
||||||
|
*/
|
||||||
|
function addQuotes($string){
|
||||||
|
return $string;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
@ -15,7 +15,8 @@
|
||||||
|
|
||||||
$oContext->setDbInfo($db_info);
|
$oContext->setDbInfo($db_info);
|
||||||
|
|
||||||
DB::getParser(true);
|
$db = new MockDb();
|
||||||
|
$db->getParser(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown() {
|
protected function tearDown() {
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,9 @@
|
||||||
$db_info->slave_db = array(array('db_type' => 'mysql','db_table_prefix' => 'xe_'));
|
$db_info->slave_db = array(array('db_type' => 'mysql','db_table_prefix' => 'xe_'));
|
||||||
|
|
||||||
$oContext->setDbInfo($db_info);
|
$oContext->setDbInfo($db_info);
|
||||||
DB::getParser(true);
|
|
||||||
|
$db = new MockDb();
|
||||||
|
$db->getParser(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue