mirror of
https://git.friendi.ca/friendica/friendica.git
synced 2025-06-07 22:17:17 +02:00
Refactor Cache/Lock to DICE
- Refactor Cache classes - Refactor Lock classes - Improved test speed (removed some seperate class annotations)
This commit is contained in:
parent
b95d4f41b9
commit
d56bd28a07
40 changed files with 766 additions and 621 deletions
58
tests/DatabaseTestTrait.php
Normal file
58
tests/DatabaseTestTrait.php
Normal file
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
/**
|
||||
* DatabaseTest class.
|
||||
*/
|
||||
|
||||
namespace Friendica\Test;
|
||||
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\Test\Util\Database\StaticDatabase;
|
||||
|
||||
/**
|
||||
* Abstract class used by tests that need a database.
|
||||
*/
|
||||
trait DatabaseTestTrait
|
||||
{
|
||||
protected function setUp()
|
||||
{
|
||||
StaticDatabase::statConnect($_SERVER);
|
||||
// Rollbacks every DB usage (in case the test couldn't call tearDown)
|
||||
StaticDatabase::statRollback();
|
||||
// Start the first, outer transaction
|
||||
StaticDatabase::getGlobConnection()->beginTransaction();
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
protected function tearDown()
|
||||
{
|
||||
// Rollbacks every DB usage so we don't commit anything into the DB
|
||||
StaticDatabase::statRollback();
|
||||
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a given DB fixture for this DB test
|
||||
*
|
||||
* @param string $fixture The path to the fixture
|
||||
* @param Database $dba The DB connection
|
||||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function loadFixture(string $fixture, Database $dba)
|
||||
{
|
||||
$data = include $fixture;
|
||||
|
||||
foreach ($data as $tableName => $rows) {
|
||||
if (!is_array($rows)) {
|
||||
$dba->p('TRUNCATE TABLE `' . $tableName . '``');
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$dba->insert($tableName, $row);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue