From aada2366d156c3c2a0a6d64f5132772bbbd01b57 Mon Sep 17 00:00:00 2001 From: ucorina Date: Tue, 1 Nov 2011 17:26:27 +0000 Subject: [PATCH] Added mock DB classes. git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9787 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- test-phpUnit/config/config.inc.php | 1 + test-phpUnit/db/CubridTest.php | 4 +- test-phpUnit/db/MockDb.php | 81 ++++++++++++++++++++++++++++++ test-phpUnit/db/MssqlTest.php | 3 +- test-phpUnit/db/MysqlTest.php | 4 +- 5 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 test-phpUnit/db/MockDb.php diff --git a/test-phpUnit/config/config.inc.php b/test-phpUnit/config/config.inc.php index 0b61fbc7f..48acaad5c 100644 --- a/test-phpUnit/config/config.inc.php +++ b/test-phpUnit/config/config.inc.php @@ -30,6 +30,7 @@ require_once(_XE_PATH_.'classes/db/DBCubrid.class.php'); require_once(_XE_PATH_.'classes/db/DBMssql.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/argument/Argument.class.php'); diff --git a/test-phpUnit/db/CubridTest.php b/test-phpUnit/db/CubridTest.php index 7eb3a986f..8e3752771 100644 --- a/test-phpUnit/db/CubridTest.php +++ b/test-phpUnit/db/CubridTest.php @@ -16,7 +16,9 @@ $db_info->slave_db = array(array('db_type' => 'cubrid','db_table_prefix' => 'xe_')); $oContext->setDbInfo($db_info); - DB::getParser(true); + + $db = new MockDb(); + $db->getParser(true); } /** diff --git a/test-phpUnit/db/MockDb.php b/test-phpUnit/db/MockDb.php new file mode 100644 index 000000000..bfdd6d3ef --- /dev/null +++ b/test-phpUnit/db/MockDb.php @@ -0,0 +1,81 @@ +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; + } + } + +?> \ No newline at end of file diff --git a/test-phpUnit/db/MssqlTest.php b/test-phpUnit/db/MssqlTest.php index 6e9f5392d..47149ee38 100644 --- a/test-phpUnit/db/MssqlTest.php +++ b/test-phpUnit/db/MssqlTest.php @@ -15,7 +15,8 @@ $oContext->setDbInfo($db_info); - DB::getParser(true); + $db = new MockDb(); + $db->getParser(true); } protected function tearDown() { diff --git a/test-phpUnit/db/MysqlTest.php b/test-phpUnit/db/MysqlTest.php index 5a643a789..d04c83ef6 100644 --- a/test-phpUnit/db/MysqlTest.php +++ b/test-phpUnit/db/MysqlTest.php @@ -16,7 +16,9 @@ $db_info->slave_db = array(array('db_type' => 'mysql','db_table_prefix' => 'xe_')); $oContext->setDbInfo($db_info); - DB::getParser(true); + + $db = new MockDb(); + $db->getParser(true); } /**