From ec235d606dda682d3038ead11105035e518463a2 Mon Sep 17 00:00:00 2001 From: Dominique Fournier Date: Thu, 20 Aug 2015 12:21:19 +0000 Subject: [PATCH] dblayer tests : add the disconnect when needed to deconnect from the singleton git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@2260 bf3deb0d-5f1a-0410-827f-c0cc1f45334c --- Tests/dblayerComplet.php | 60 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/Tests/dblayerComplet.php b/Tests/dblayerComplet.php index f6820ff..337842c 100644 --- a/Tests/dblayerComplet.php +++ b/Tests/dblayerComplet.php @@ -34,12 +34,14 @@ class test_dblayer_{ENGINE} extends PHPUnit_Framework_TestCase ), ); + /** @group singleton */ public function test_dropTable () { $dbconfig = $this->confs["{ENGINE}"]; $db = new dblayer ($dbconfig["dsn"], $dbconfig["username"], $dbconfig["password"], $dbconfig["driver_options"]); - foreach (array ("users", "grouped") as $table) + foreach (array ("users", "grouped", "multiple", "multiple2", "users3") as + $table) { $db->table = $table; try @@ -54,9 +56,10 @@ class test_dblayer_{ENGINE} extends PHPUnit_Framework_TestCase // if it doesn't exists } + /** @group singleton */ public function test_createTable1 () { - // Create a table named group + // Create a table named grouped $dbconfig = $this->confs["{ENGINE}"]; $db = new dblayer ($dbconfig["dsn"], $dbconfig["username"], $dbconfig["password"], $dbconfig["driver_options"]); @@ -68,9 +71,11 @@ class test_dblayer_{ENGINE} extends PHPUnit_Framework_TestCase $db->unique = array (); $db->primary = "group"; $res = $db->createTable (); + $db->disconnect (); $this->assertSame (0, $res); } + /** @group singleton */ public function test_insert1 () { $dbconfig = $this->confs["{ENGINE}"]; @@ -216,11 +221,15 @@ class test_dblayer_{ENGINE} extends PHPUnit_Framework_TestCase $this->assertSame (1, $res); } + /** @group singleton */ // Part to test the foreign keys public function test_createTable2 () { // Create a table named group $dbconfig = $this->confs["{ENGINE}"]; + $db = new dblayer ($dbconfig["dsn"], $dbconfig["username"], + $dbconfig["password"], $dbconfig["driver_options"]); + $db->disconnect (); $db = new dblayer ($dbconfig["dsn"], $dbconfig["username"], $dbconfig["password"], $dbconfig["driver_options"]); $db->table = "users"; @@ -255,6 +264,7 @@ class test_dblayer_{ENGINE} extends PHPUnit_Framework_TestCase "groupmember"=>"NEW GROUP", "where"=>"\$'\"", "with space"=>"with space")); + $db->disconnect (); // SQLite start at 1, MySQL start at 0... $this->assertThat($res, $this->lessThanOrEqual(2)); } @@ -305,4 +315,50 @@ class test_dblayer_{ENGINE} extends PHPUnit_Framework_TestCase "where"=>"\$'\"", "with space"=>"with space")); } + + /** @group singleton */ + // Test multiple actions in one single connection + public function test_multiple1 () + { + + // Create a table named group + $dbconfig = $this->confs["{ENGINE}"]; + $db = new dblayer ($dbconfig["dsn"], $dbconfig["username"], + $dbconfig["password"], $dbconfig["driver_options"]); + $db->table = "multiple"; + $db->fields = array ("user"=>array ("varchar", "255", "not null"), + "groupmember"=>array ("varchar", "255", "not null"), + "where"=>array ("varchar", "255", "not null"), + "with space"=>array ("varchar", "255", "not null")); + $db->createTable (); + $db2 = new dblayer ($dbconfig["dsn"], $dbconfig["username"], + $dbconfig["password"], $dbconfig["driver_options"]); + $db2->table = "multiple2"; + $db2->fields = array ("user"=>array ("varchar", "255", "not null"), + "groupmember"=>array ("varchar", "255", "not null"), + "where"=>array ("varchar", "255", "not null"), + "with space"=>array ("varchar", "255", "not null")); + $db2->createTable (); + $res = $db2->read (array (array ("user", "toto"))); + $res = $db->read (array (array ("user", "toto"))); + $db->disconnect (); + $this->assertSame (array (), $res); + } + + /** @group singleton */ + public function test_createTable3 () + { + // Create a table named group + $dbconfig = $this->confs["{ENGINE}"]; + $db = new dblayer ($dbconfig["dsn"], $dbconfig["username"], + $dbconfig["password"], $dbconfig["driver_options"]); + $db->table = "users3"; + $db->fields = array ("user"=>array ("varchar", "255", "not null"), + "groupmember"=>array ("varchar", "255", "not null"), + "where"=>array ("varchar", "255", "not null"), + "with space"=>array ("varchar", "255", "not null")); + $res = $db->createTable (); + $db->disconnect (); + $this->assertSame (0, $res); + } }