From 069dbd21ef330ea697808fb2388757bce700811a Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Mon, 3 Jan 2011 22:15:38 +0100 Subject: [PATCH] Add test case variations for any Horde_Db driver that we support. --- .gitignore | 5 +++ framework/Share/package.xml | 44 ++++++++++++++++++---- .../test/Horde/Share/{TestBase.php => Base.php} | 2 +- .../test/Horde/Share/{SqlTest.php => Sql/Base.php} | 10 +---- framework/Share/test/Horde/Share/Sql/MysqlTest.php | 26 +++++++++++++ .../Share/test/Horde/Share/Sql/MysqliTest.php | 26 +++++++++++++ .../Share/test/Horde/Share/Sql/Pdo/MysqlTest.php | 27 +++++++++++++ .../Share/test/Horde/Share/Sql/Pdo/PgsqlTest.php | 27 +++++++++++++ .../Share/test/Horde/Share/Sql/Pdo/SqliteTest.php | 26 +++++++++++++ .../Base.php} | 10 +---- .../test/Horde/Share/SqlHierarchical/MysqlTest.php | 26 +++++++++++++ .../Horde/Share/SqlHierarchical/MysqliTest.php | 26 +++++++++++++ .../Horde/Share/SqlHierarchical/Pdo/MysqlTest.php | 27 +++++++++++++ .../Horde/Share/SqlHierarchical/Pdo/PgsqlTest.php | 27 +++++++++++++ .../Horde/Share/SqlHierarchical/Pdo/SqliteTest.php | 26 +++++++++++++ framework/Share/test/Horde/Share/conf.php.dist | 21 +++++++++++ 16 files changed, 332 insertions(+), 24 deletions(-) rename framework/Share/test/Horde/Share/{TestBase.php => Base.php} (99%) rename framework/Share/test/Horde/Share/{SqlTest.php => Sql/Base.php} (94%) create mode 100644 framework/Share/test/Horde/Share/Sql/MysqlTest.php create mode 100644 framework/Share/test/Horde/Share/Sql/MysqliTest.php create mode 100644 framework/Share/test/Horde/Share/Sql/Pdo/MysqlTest.php create mode 100644 framework/Share/test/Horde/Share/Sql/Pdo/PgsqlTest.php create mode 100644 framework/Share/test/Horde/Share/Sql/Pdo/SqliteTest.php rename framework/Share/test/Horde/Share/{SqlHierarchicalTest.php => SqlHierarchical/Base.php} (95%) create mode 100644 framework/Share/test/Horde/Share/SqlHierarchical/MysqlTest.php create mode 100644 framework/Share/test/Horde/Share/SqlHierarchical/MysqliTest.php create mode 100644 framework/Share/test/Horde/Share/SqlHierarchical/Pdo/MysqlTest.php create mode 100644 framework/Share/test/Horde/Share/SqlHierarchical/Pdo/PgsqlTest.php create mode 100644 framework/Share/test/Horde/Share/SqlHierarchical/Pdo/SqliteTest.php create mode 100644 framework/Share/test/Horde/Share/conf.php.dist diff --git a/.gitignore b/.gitignore index 36506d752..75d9f9ffe 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,11 @@ framework/Db/test/Horde/Db/Adapter/conf.php framework/Db/test/Horde/Db/Adapter/Pdo/conf.php framework/Kolab_Storage/test/Horde/Kolab/Storage/conf.php framework/Ldap/test/Horde/Ldap/conf.php +framework/Share/test/Horde/Share/conf.php +framework/Share/test/Horde/Share/Sql/conf.php +framework/Share/test/Horde/Share/Sql/Pdo/conf.php +framework/Share/test/Horde/Share/SqlHierarchical/conf.php +framework/Share/test/Horde/Share/SqlHierarchical/Pdo/conf.php # Dynamically generated content that may live in the repo directories /lib/ diff --git a/framework/Share/package.xml b/framework/Share/package.xml index 97f541eeb..cd1867394 100644 --- a/framework/Share/package.xml +++ b/framework/Share/package.xml @@ -12,7 +12,7 @@ owns or has access to. yes 2011-01-03 - + 0.0.4 0.0.4 @@ -320,11 +320,30 @@ owns or has access to. + + + + + + + + + + + + + + + + + + + + - - - + + @@ -452,9 +471,20 @@ owns or has access to. - - - + + + + + + + + + + + + + + diff --git a/framework/Share/test/Horde/Share/TestBase.php b/framework/Share/test/Horde/Share/Base.php similarity index 99% rename from framework/Share/test/Horde/Share/TestBase.php rename to framework/Share/test/Horde/Share/Base.php index 7a810b640..a1904d4e4 100644 --- a/framework/Share/test/Horde/Share/TestBase.php +++ b/framework/Share/test/Horde/Share/Base.php @@ -12,7 +12,7 @@ require_once dirname(__FILE__) . '/Autoload.php'; * @copyright 2010 The Horde Project (http://www.horde.org/) * @license http://www.fsf.org/copyleft/lgpl.html LGPL */ -class Horde_Share_TestBase extends PHPUnit_Framework_TestCase +class Horde_Share_Test_Base extends Horde_Test_Case { protected static $share; diff --git a/framework/Share/test/Horde/Share/SqlTest.php b/framework/Share/test/Horde/Share/Sql/Base.php similarity index 94% rename from framework/Share/test/Horde/Share/SqlTest.php rename to framework/Share/test/Horde/Share/Sql/Base.php index 7ddbe4cf3..395e9e4c9 100644 --- a/framework/Share/test/Horde/Share/SqlTest.php +++ b/framework/Share/test/Horde/Share/Sql/Base.php @@ -2,7 +2,7 @@ /** * Prepare the test setup. */ -require_once dirname(__FILE__) . '/TestBase.php'; +require_once dirname(__FILE__) . '/../Base.php'; /** * @author Jan Schneider @@ -12,7 +12,7 @@ require_once dirname(__FILE__) . '/TestBase.php'; * @copyright 2010 The Horde Project (http://www.horde.org/) * @license http://www.fsf.org/copyleft/lgpl.html LGPL */ -class Horde_Share_SqlTest extends Horde_Share_TestBase +class Horde_Share_Test_Sql_Base extends Horde_Share_Test_Base { protected static $db; @@ -115,12 +115,6 @@ class Horde_Share_SqlTest extends Horde_Share_TestBase public static function setUpBeforeClass() { - if (!extension_loaded('pdo') || - !in_array('sqlite', PDO::getAvailableDrivers())) { - return; - } - - self::$db = new Horde_Db_Adapter_Pdo_Sqlite(array('dbname' => ':memory:')); //self::$db->setLogger(new Horde_Log_Logger(new Horde_Log_Handler_Stream(STDOUT))); $migration = new Horde_Db_Migration_Base(self::$db); diff --git a/framework/Share/test/Horde/Share/Sql/MysqlTest.php b/framework/Share/test/Horde/Share/Sql/MysqlTest.php new file mode 100644 index 000000000..b2e69eca0 --- /dev/null +++ b/framework/Share/test/Horde/Share/Sql/MysqlTest.php @@ -0,0 +1,26 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_Sql_MysqlTest extends Horde_Share_Test_Sql_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('mysql')) { + return; + } + $config = self::getConfig('SHARE_SQL_MYSQL_TEST_CONFIG'); + self::$db = new Horde_Db_Adapter_Mysql($config['share']['sql']['mysql']); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/Sql/MysqliTest.php b/framework/Share/test/Horde/Share/Sql/MysqliTest.php new file mode 100644 index 000000000..bb81f8931 --- /dev/null +++ b/framework/Share/test/Horde/Share/Sql/MysqliTest.php @@ -0,0 +1,26 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_Sql_MysqliTest extends Horde_Share_Test_Sql_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('mysqli')) { + return; + } + $config = self::getConfig('SHARE_SQL_MYSQLI_TEST_CONFIG'); + self::$db = new Horde_Db_Adapter_Mysqli($config['share']['sql']['mysqli']); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/Sql/Pdo/MysqlTest.php b/framework/Share/test/Horde/Share/Sql/Pdo/MysqlTest.php new file mode 100644 index 000000000..95dee9dc8 --- /dev/null +++ b/framework/Share/test/Horde/Share/Sql/Pdo/MysqlTest.php @@ -0,0 +1,27 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_Sql_Pdo_MysqlTest extends Horde_Share_Test_Sql_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('pdo') || + !in_array('mysql', PDO::getAvailableDrivers())) { + return; + } + $config = self::getConfig('SHARE_SQL_PDO_MYSQL_TEST_CONFIG'); + self::$db = new Horde_Db_Adapter_Pdo_Mysql($config['share']['sql']['pdo_mysql']); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/Sql/Pdo/PgsqlTest.php b/framework/Share/test/Horde/Share/Sql/Pdo/PgsqlTest.php new file mode 100644 index 000000000..936a2dd69 --- /dev/null +++ b/framework/Share/test/Horde/Share/Sql/Pdo/PgsqlTest.php @@ -0,0 +1,27 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_Sql_Pdo_PgsqlTest extends Horde_Share_Test_Sql_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('pdo') || + !in_array('pgsql', PDO::getAvailableDrivers())) { + return; + } + $config = self::getConfig('SHARE_SQL_PDO_PGSQL_TEST_CONFIG'); + self::$db = new Horde_Db_Adapter_Pdo_Pgsql($config['share']['sql']['pdo_pgsql']); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/Sql/Pdo/SqliteTest.php b/framework/Share/test/Horde/Share/Sql/Pdo/SqliteTest.php new file mode 100644 index 000000000..aaaa7b128 --- /dev/null +++ b/framework/Share/test/Horde/Share/Sql/Pdo/SqliteTest.php @@ -0,0 +1,26 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_Sql_Pdo_SqliteTest extends Horde_Share_Test_Sql_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('pdo') || + !in_array('sqlite', PDO::getAvailableDrivers())) { + return; + } + self::$db = new Horde_Db_Adapter_Pdo_Sqlite(array('dbname' => ':memory:')); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/SqlHierarchicalTest.php b/framework/Share/test/Horde/Share/SqlHierarchical/Base.php similarity index 95% rename from framework/Share/test/Horde/Share/SqlHierarchicalTest.php rename to framework/Share/test/Horde/Share/SqlHierarchical/Base.php index 423ddbb73..2343866eb 100644 --- a/framework/Share/test/Horde/Share/SqlHierarchicalTest.php +++ b/framework/Share/test/Horde/Share/SqlHierarchical/Base.php @@ -2,7 +2,7 @@ /** * Prepare the test setup. */ -require_once dirname(__FILE__) . '/TestBase.php'; +require_once dirname(__FILE__) . '/../Base.php'; /** * @author Jan Schneider @@ -12,7 +12,7 @@ require_once dirname(__FILE__) . '/TestBase.php'; * @copyright 2010 The Horde Project (http://www.horde.org/) * @license http://www.fsf.org/copyleft/lgpl.html LGPL */ -class Horde_Share_SqlHierarchicalTest extends Horde_Share_TestBase +class Horde_Share_Test_SqlHierarchical_Base extends Horde_Share_Test_Base { protected static $db; @@ -135,12 +135,6 @@ class Horde_Share_SqlHierarchicalTest extends Horde_Share_TestBase public static function setUpBeforeClass() { - if (!extension_loaded('pdo') || - !in_array('sqlite', PDO::getAvailableDrivers())) { - return; - } - - self::$db = new Horde_Db_Adapter_Pdo_Sqlite(array('dbname' => ':memory:')); //self::$db->setLogger(new Horde_Log_Logger(new Horde_Log_Handler_Stream(STDOUT))); $migration = new Horde_Db_Migration_Base(self::$db); diff --git a/framework/Share/test/Horde/Share/SqlHierarchical/MysqlTest.php b/framework/Share/test/Horde/Share/SqlHierarchical/MysqlTest.php new file mode 100644 index 000000000..22a99f0e8 --- /dev/null +++ b/framework/Share/test/Horde/Share/SqlHierarchical/MysqlTest.php @@ -0,0 +1,26 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_SqlHierarchical_MysqlTest extends Horde_Share_Test_SqlHierarchical_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('mysql')) { + return; + } + $config = self::getConfig('SHARE_SQL_MYSQL_TEST_CONFIG'); + self::$db = new Horde_Db_Adapter_Mysql($config['share']['sql']['mysql']); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/SqlHierarchical/MysqliTest.php b/framework/Share/test/Horde/Share/SqlHierarchical/MysqliTest.php new file mode 100644 index 000000000..3f8b30b9a --- /dev/null +++ b/framework/Share/test/Horde/Share/SqlHierarchical/MysqliTest.php @@ -0,0 +1,26 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_SqlHierarchical_MysqliTest extends Horde_Share_Test_SqlHierarchical_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('mysqli')) { + return; + } + $config = self::getConfig('SHARE_SQL_MYSQLI_TEST_CONFIG'); + self::$db = new Horde_Db_Adapter_Mysqli($config['share']['sql']['mysqli']); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/SqlHierarchical/Pdo/MysqlTest.php b/framework/Share/test/Horde/Share/SqlHierarchical/Pdo/MysqlTest.php new file mode 100644 index 000000000..de0b0b31f --- /dev/null +++ b/framework/Share/test/Horde/Share/SqlHierarchical/Pdo/MysqlTest.php @@ -0,0 +1,27 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_SqlHierarchical_Pdo_MysqlTest extends Horde_Share_Test_SqlHierarchical_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('pdo') || + !in_array('mysql', PDO::getAvailableDrivers())) { + return; + } + $config = self::getConfig('SHARE_SQL_PDO_MYSQL_TEST_CONFIG'); + self::$db = new Horde_Db_Adapter_Pdo_Mysql($config['share']['sql']['pdo_mysql']); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/SqlHierarchical/Pdo/PgsqlTest.php b/framework/Share/test/Horde/Share/SqlHierarchical/Pdo/PgsqlTest.php new file mode 100644 index 000000000..4e331cb33 --- /dev/null +++ b/framework/Share/test/Horde/Share/SqlHierarchical/Pdo/PgsqlTest.php @@ -0,0 +1,27 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_SqlHierarchical_Pdo_PgsqlTest extends Horde_Share_Test_SqlHierarchical_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('pdo') || + !in_array('pgsql', PDO::getAvailableDrivers())) { + return; + } + $config = self::getConfig('SHARE_SQL_PDO_PGSQL_TEST_CONFIG'); + self::$db = new Horde_Db_Adapter_Pdo_Pgsql($config['share']['sql']['pdo_pgsql']); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/SqlHierarchical/Pdo/SqliteTest.php b/framework/Share/test/Horde/Share/SqlHierarchical/Pdo/SqliteTest.php new file mode 100644 index 000000000..1a5b22229 --- /dev/null +++ b/framework/Share/test/Horde/Share/SqlHierarchical/Pdo/SqliteTest.php @@ -0,0 +1,26 @@ + + * @category Horde + * @package Share + * @subpackage UnitTests + * @copyright 2010 The Horde Project (http://www.horde.org/) + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + */ +class Horde_Share_SqlHierarchical_Pdo_SqliteTest extends Horde_Share_Test_SqlHierarchical_Base +{ + public static function setUpBeforeClass() + { + if (!extension_loaded('pdo') || + !in_array('sqlite', PDO::getAvailableDrivers())) { + return; + } + self::$db = new Horde_Db_Adapter_Pdo_Sqlite(array('dbname' => ':memory:')); + parent::setUpBeforeClass(); + } +} diff --git a/framework/Share/test/Horde/Share/conf.php.dist b/framework/Share/test/Horde/Share/conf.php.dist new file mode 100644 index 000000000..67ca8e78d --- /dev/null +++ b/framework/Share/test/Horde/Share/conf.php.dist @@ -0,0 +1,21 @@ +