X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2FDatabaseTestTrait.php;h=c6348d774754d3dc88324dee692bb774c333a1fa;hb=4ef7f422570cba0290c6984463f9c7f5a6f9caa4;hp=49dc999b698a1acc21af8e7ae5c921b8b792254e;hpb=0a82fe4211f73cf10107feb69fe38eaa85eb61f8;p=friendica.git diff --git a/tests/DatabaseTestTrait.php b/tests/DatabaseTestTrait.php index 49dc999b69..c6348d7747 100644 --- a/tests/DatabaseTestTrait.php +++ b/tests/DatabaseTestTrait.php @@ -1,6 +1,22 @@ . + * */ namespace Friendica\Test; @@ -13,23 +29,25 @@ use Friendica\Test\Util\Database\StaticDatabase; */ trait DatabaseTestTrait { - protected function setUp() + protected function setUpDb() { StaticDatabase::statConnect($_SERVER); // Rollbacks every DB usage (in case the test couldn't call tearDown) StaticDatabase::statRollback(); + // Rollback the first, outer transaction just 2 be sure + StaticDatabase::getGlobConnection()->rollBack(); // Start the first, outer transaction StaticDatabase::getGlobConnection()->beginTransaction(); - - parent::setUp(); } - protected function tearDown() + protected function tearDownDb() { - // Rollbacks every DB usage so we don't commit anything into the DB - StaticDatabase::statRollback(); - - parent::tearDown(); + try { + // Rollbacks every DB usage so we don't commit anything into the DB + StaticDatabase::statRollback(); + } catch (\PDOException $exception) { + print_r("Found already rolled back transaction"); + } } /** @@ -45,13 +63,17 @@ trait DatabaseTestTrait $data = include $fixture; foreach ($data as $tableName => $rows) { + if (is_numeric($tableName)) { + continue; + } + if (!is_array($rows)) { - $dba->p('TRUNCATE TABLE `' . $tableName . '``'); + $dba->e('TRUNCATE TABLE `' . $tableName . '``'); continue; } foreach ($rows as $row) { - $dba->insert($tableName, $row); + $dba->insert($tableName, $row, true); } } }