From a3388622287e218beddfa14a47ed677d4307b36b Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Fri, 25 Mar 2016 17:55:51 +0100 Subject: Removed simpletest and moved all tests in the unit tree Tests are executed now, but a lot of them need fixing. --- tests/unit/Data/SqlMap/common.php | 153 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 tests/unit/Data/SqlMap/common.php (limited to 'tests/unit/Data/SqlMap/common.php') diff --git a/tests/unit/Data/SqlMap/common.php b/tests/unit/Data/SqlMap/common.php new file mode 100644 index 00000000..020a296b --- /dev/null +++ b/tests/unit/Data/SqlMap/common.php @@ -0,0 +1,153 @@ + 0) + $connection->createCommand($line)->execute(); + } + } +} + +class CopyFileScriptRunner +{ + protected $baseFile; + protected $targetFile; + + public function __construct($base, $target) + { + $this->baseFile = $base; + $this->targetFile = $target; + } + + function runScript($connection, $script) + { + copy($this->baseFile, $this->targetFile); + } +} + +class SQLiteBaseTestConfig extends BaseTestConfig +{ + protected $baseFile; + protected $targetFile; + + public function __construct() + { + $this->_sqlmapConfigFile = SQLMAP_TESTS.'/sqlite.xml'; + $this->_scriptDir = SQLMAP_TESTS.'/scripts/sqlite/'; + + $this->targetFile = realpath(SQLMAP_TESTS.'/sqlite/tests.db'); + $this->baseFile = realpath(SQLMAP_TESTS.'/sqlite/backup.db'); + $file = realpath($this->targetFile); + $this->_connection = new TDbConnection("sqlite:{$file}"); + } + + public function getScriptRunner() + { + return new CopyFileScriptRunner($this->baseFile, $this->targetFile); + } +} + +class MySQLBaseTestConfig extends BaseTestConfig +{ + public function __construct() + { + $this->_sqlmapConfigFile = SQLMAP_TESTS.'/mysql.xml'; + $this->_scriptDir = SQLMAP_TESTS.'/scripts/mysql/'; + $this->_features = array('insert_id'); + $dsn = 'mysql:host=localhost;dbname=sqlmap_test;port=3307'; + $this->_connection = new TDbConnection($dsn, 'test5', 'test5'); + } +} + +class MSSQLBaseTestConfig extends BaseTestConfig +{ + public function __construct() + { + $this->_sqlmap = SQLMAP_TESTS.'/mssql.xml'; + $this->_connectionString = 'odbc_mssql://sqlmap_tests'; + $this->_scriptDir = SQLMAP_TESTS.'/scripts/mssql/'; + $this->_features = array('insert_id'); + } +} + +class BaseTestConfig +{ + protected $_scriptDir; + protected $_connection; + protected $_sqlmapConfigFile; + + public function hasFeature($type) + { + return false; + } + + public function getScriptDir() + { + return $this->_scriptDir; + } + + public function getConnection() + { + return $this->_connection; + } + + public function getSqlMapConfigFile() + { + return $this->_sqlmapConfigFile; + } + + public function getScriptRunner() + { + return new DefaultScriptRunner(); + } + + public static function createConfigInstance() + { + //change this to connection to a different database + + //return new MySQLBaseTestConfig(); + + return new SQLiteBaseTestConfig(); + + //return new MSSQLBaseTestConfig(); + } +} + -- cgit v1.2.3