Add some unit tests for DB classes
5 files added
2 files modified
| | |
| | | { |
| | | |
| | | /** |
| | | * Class constructor |
| | | * Class constructor test |
| | | */ |
| | | function test_class() |
| | | { |
| | |
| | | |
| | | $this->assertInstanceOf('rcube_db', $object, "Class constructor"); |
| | | } |
| | | |
| | | /** |
| | | * Test script execution and table_prefix replacements |
| | | */ |
| | | function test_exec_script() |
| | | { |
| | | $db = new rcube_db_test_wrapper('test'); |
| | | $db->set_option('table_prefix', 'prefix_'); |
| | | |
| | | $script = implode("\n", array( |
| | | "CREATE TABLE `xxx` (test int, INDEX xxx (test));", |
| | | "-- test comment", |
| | | "ALTER TABLE `xxx` CHANGE test test int;", |
| | | "TRUNCATE xxx;", |
| | | "DROP TABLE `vvv`;", |
| | | "CREATE TABLE `i` (test int CONSTRAINT `iii` |
| | | FOREIGN KEY (`test`) REFERENCES `xxx`(`test`) ON DELETE CASCADE ON UPDATE CASCADE);", |
| | | "INSERT INTO xxx test = 1;", |
| | | "SELECT test FROM xxx;", |
| | | )); |
| | | $output = implode("\n", array( |
| | | "CREATE TABLE `prefix_xxx` (test int, INDEX prefix_xxx (test));", |
| | | "ALTER TABLE `prefix_xxx` CHANGE test test int;", |
| | | "TRUNCATE prefix_xxx;", |
| | | "DROP TABLE `prefix_vvv`;", |
| | | "CREATE TABLE `prefix_i` (test int CONSTRAINT `prefix_iii` |
| | | FOREIGN KEY (`test`) REFERENCES `prefix_xxx`(`test`) ON DELETE CASCADE ON UPDATE CASCADE);", |
| | | "INSERT INTO prefix_xxx test = 1;", |
| | | "SELECT test FROM prefix_xxx;", |
| | | )); |
| | | |
| | | $result = $db->exec_script($script); |
| | | $out = ''; |
| | | |
| | | foreach ($db->queries as $q) { |
| | | $out[] = $q[0]; |
| | | } |
| | | |
| | | $this->assertTrue($result, "Execute SQL script (result)"); |
| | | $this->assertSame(implode("\n", $out), $output, "Execute SQL script (content)"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * rcube_db wrapper to test some protected methods |
| | | */ |
| | | class rcube_db_test_wrapper extends rcube_db |
| | | { |
| | | public $queries = array(); |
| | | |
| | | protected function _query($query, $offset, $numrows, $params) |
| | | { |
| | | $this->queries[] = array(trim($query), $offset, $numrows, $params); |
| | | } |
| | | } |
New file |
| | |
| | | <?php |
| | | |
| | | /** |
| | | * Test class to test rcube_db_mssql class |
| | | * |
| | | * @package Tests |
| | | */ |
| | | class Framework_DBMssql extends PHPUnit_Framework_TestCase |
| | | { |
| | | |
| | | /** |
| | | * Class constructor |
| | | */ |
| | | function test_class() |
| | | { |
| | | $object = new rcube_db_mssql('test'); |
| | | |
| | | $this->assertInstanceOf('rcube_db_mssql', $object, "Class constructor"); |
| | | } |
| | | } |
New file |
| | |
| | | <?php |
| | | |
| | | /** |
| | | * Test class to test rcube_db_mysql class |
| | | * |
| | | * @package Tests |
| | | */ |
| | | class Framework_DBMysql extends PHPUnit_Framework_TestCase |
| | | { |
| | | |
| | | /** |
| | | * Class constructor |
| | | */ |
| | | function test_class() |
| | | { |
| | | $object = new rcube_db_mysql('test'); |
| | | |
| | | $this->assertInstanceOf('rcube_db_mysql', $object, "Class constructor"); |
| | | } |
| | | } |
New file |
| | |
| | | <?php |
| | | |
| | | /** |
| | | * Test class to test rcube_db_pgsql class |
| | | * |
| | | * @package Tests |
| | | */ |
| | | class Framework_DBPgsql extends PHPUnit_Framework_TestCase |
| | | { |
| | | |
| | | /** |
| | | * Class constructor |
| | | */ |
| | | function test_class() |
| | | { |
| | | $object = new rcube_db_pgsql('test'); |
| | | |
| | | $this->assertInstanceOf('rcube_db_pgsql', $object, "Class constructor"); |
| | | } |
| | | } |
New file |
| | |
| | | <?php |
| | | |
| | | /** |
| | | * Test class to test rcube_db_sqlite class |
| | | * |
| | | * @package Tests |
| | | */ |
| | | class Framework_DBSqlite extends PHPUnit_Framework_TestCase |
| | | { |
| | | |
| | | /** |
| | | * Class constructor |
| | | */ |
| | | function test_class() |
| | | { |
| | | $object = new rcube_db_sqlite('test'); |
| | | |
| | | $this->assertInstanceOf('rcube_db_sqlite', $object, "Class constructor"); |
| | | } |
| | | } |
New file |
| | |
| | | <?php |
| | | |
| | | /** |
| | | * Test class to test rcube_db_sqlsrv class |
| | | * |
| | | * @package Tests |
| | | */ |
| | | class Framework_DBSqlsrv extends PHPUnit_Framework_TestCase |
| | | { |
| | | |
| | | /** |
| | | * Class constructor |
| | | */ |
| | | function test_class() |
| | | { |
| | | $object = new rcube_db_sqlsrv('test'); |
| | | |
| | | $this->assertInstanceOf('rcube_db_sqlsrv', $object, "Class constructor"); |
| | | } |
| | | } |
| | |
| | | <file>Framework/ContentFilter.php</file> |
| | | <file>Framework/Csv2vcard.php</file> |
| | | <file>Framework/DB.php</file> |
| | | <file>Framework/DBMssql.php</file> |
| | | <file>Framework/DBMysql.php</file> |
| | | <file>Framework/DBPgsql.php</file> |
| | | <file>Framework/DBSqlite.php</file> |
| | | <file>Framework/DBSqlsrv.php</file> |
| | | <file>Framework/Enriched.php</file> |
| | | <file>Framework/Html.php</file> |
| | | <file>Framework/Html2text.php</file> |