From 655a89f4059ebae017d1c4ec5f26aeb2cf4a3bae Mon Sep 17 00:00:00 2001 From: Taufan Aditya Date: Thu, 29 Mar 2012 03:00:56 +0700 Subject: Preliminary Database Test --- tests/codeigniter/database/.gitkeep | 0 tests/codeigniter/database/DB_test.php | 44 ++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) delete mode 100644 tests/codeigniter/database/.gitkeep create mode 100644 tests/codeigniter/database/DB_test.php (limited to 'tests/codeigniter') diff --git a/tests/codeigniter/database/.gitkeep b/tests/codeigniter/database/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/codeigniter/database/DB_test.php b/tests/codeigniter/database/DB_test.php new file mode 100644 index 000000000..c1930f5f2 --- /dev/null +++ b/tests/codeigniter/database/DB_test.php @@ -0,0 +1,44 @@ +db_config = new Mock_Database_DB(array( + 'mysql' => array( + 'dsn' => '', + 'hostname' => 'localhost', + 'username' => 'travis', + 'password' => '', + 'database' => 'ci_test', + 'dbdriver' => 'mysql', + 'dbprefix' => '', + 'pconnect' => FALSE, + 'db_debug' => TRUE, + 'cache_on' => FALSE, + 'cachedir' => '', + 'char_set' => 'utf8', + 'dbcollat' => 'utf8_general_ci', + 'swap_pre' => '', + 'autoinit' => TRUE, + 'stricton' => FALSE, + 'failover' => array(), + ), + )); + } + + // ------------------------------------------------------------------------ + + public function test_db_valid() + { + $db = DB($this->db_config->set_config('mysql'), TRUE); + + $this->assertTrue($db instanceof CI_DB); + $this->assertTrue($db instanceof CI_DB_Driver); + $this->assertTrue($db instanceof CI_DB_active_record); + $this->assertTrue($db instanceof CI_DB_mysql_driver); + } + +} \ No newline at end of file -- cgit v1.2.3-24-g4f1b From a8a2e3325c128ccdc941daba3bba10b78bf2d098 Mon Sep 17 00:00:00 2001 From: Taufan Aditya Date: Thu, 29 Mar 2012 03:56:46 +0700 Subject: Travis setup and minor cleanup --- tests/codeigniter/database/DB_test.php | 45 ++++++++++++----------- tests/codeigniter/database/query_builder/.gitkeep | 0 2 files changed, 24 insertions(+), 21 deletions(-) create mode 100644 tests/codeigniter/database/query_builder/.gitkeep (limited to 'tests/codeigniter') diff --git a/tests/codeigniter/database/DB_test.php b/tests/codeigniter/database/DB_test.php index c1930f5f2..10e8dec64 100644 --- a/tests/codeigniter/database/DB_test.php +++ b/tests/codeigniter/database/DB_test.php @@ -2,11 +2,31 @@ class DB_test extends CI_TestCase { - public $db_config; + // ------------------------------------------------------------------------ - public function set_up() + public function test_db_invalid() { - $this->db_config = new Mock_Database_DB(array( + $db_config = new Mock_Database_DB(array( + 'undefined' => array( + 'dsn' => '', + 'hostname' => 'undefined', + 'username' => 'undefined', + 'password' => 'undefined', + 'database' => 'undefined', + 'dbdriver' => 'undefined', + ), + )); + + $this->setExpectedException('InvalidArgumentException', 'CI Error: Invalid DB driver'); + + Mock_Database_DB::DB($db_config->set_dsn('undefined'), TRUE); + } + + // ------------------------------------------------------------------------ + + public function test_db_valid() + { + $db_config = new Mock_Database_DB(array( 'mysql' => array( 'dsn' => '', 'hostname' => 'localhost', @@ -14,30 +34,13 @@ class DB_test extends CI_TestCase { 'password' => '', 'database' => 'ci_test', 'dbdriver' => 'mysql', - 'dbprefix' => '', - 'pconnect' => FALSE, - 'db_debug' => TRUE, - 'cache_on' => FALSE, - 'cachedir' => '', - 'char_set' => 'utf8', - 'dbcollat' => 'utf8_general_ci', - 'swap_pre' => '', - 'autoinit' => TRUE, - 'stricton' => FALSE, - 'failover' => array(), ), )); - } - // ------------------------------------------------------------------------ - - public function test_db_valid() - { - $db = DB($this->db_config->set_config('mysql'), TRUE); + $db = Mock_Database_DB::DB($db_config->set_dsn('mysql'), TRUE); $this->assertTrue($db instanceof CI_DB); $this->assertTrue($db instanceof CI_DB_Driver); - $this->assertTrue($db instanceof CI_DB_active_record); $this->assertTrue($db instanceof CI_DB_mysql_driver); } diff --git a/tests/codeigniter/database/query_builder/.gitkeep b/tests/codeigniter/database/query_builder/.gitkeep new file mode 100644 index 000000000..e69de29bb -- cgit v1.2.3-24-g4f1b From ee2f5d08c64d96b7abc7195bcd1b6a3fd67b5b42 Mon Sep 17 00:00:00 2001 From: Taufan Aditya Date: Fri, 30 Mar 2012 06:29:11 +0700 Subject: Multi database setup --- tests/codeigniter/database/DB_test.php | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'tests/codeigniter') diff --git a/tests/codeigniter/database/DB_test.php b/tests/codeigniter/database/DB_test.php index 10e8dec64..9b93e223d 100644 --- a/tests/codeigniter/database/DB_test.php +++ b/tests/codeigniter/database/DB_test.php @@ -6,7 +6,7 @@ class DB_test extends CI_TestCase { public function test_db_invalid() { - $db_config = new Mock_Database_DB(array( + $connection = new Mock_Database_DB(array( 'undefined' => array( 'dsn' => '', 'hostname' => 'undefined', @@ -19,29 +19,31 @@ class DB_test extends CI_TestCase { $this->setExpectedException('InvalidArgumentException', 'CI Error: Invalid DB driver'); - Mock_Database_DB::DB($db_config->set_dsn('undefined'), TRUE); + Mock_Database_DB::DB($connection->set_dsn('undefined'), TRUE); } // ------------------------------------------------------------------------ public function test_db_valid() { - $db_config = new Mock_Database_DB(array( - 'mysql' => array( - 'dsn' => '', - 'hostname' => 'localhost', - 'username' => 'travis', - 'password' => '', - 'database' => 'ci_test', - 'dbdriver' => 'mysql', - ), - )); + $config = Mock_Database_DB::config(DB_DRIVER); + $connection = new Mock_Database_DB($config); + $db = Mock_Database_DB::DB($connection->set_dsn(DB_DRIVER), TRUE); + + $this->assertTrue($db instanceof CI_DB); + $this->assertTrue($db instanceof CI_DB_Driver); + } - $db = Mock_Database_DB::DB($db_config->set_dsn('mysql'), TRUE); + // ------------------------------------------------------------------------ + + public function test_db_failover() + { + $config = Mock_Database_DB::config(DB_DRIVER); + $connection = new Mock_Database_DB($config); + $db = Mock_Database_DB::DB($connection->set_dsn(DB_DRIVER.'_failover'), TRUE); $this->assertTrue($db instanceof CI_DB); $this->assertTrue($db instanceof CI_DB_Driver); - $this->assertTrue($db instanceof CI_DB_mysql_driver); } } \ No newline at end of file -- cgit v1.2.3-24-g4f1b