X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2FDatabaseTest.php;h=4f0275493c8f659d28734c99052cd3145080ff2a;hb=fe51c53798e5b2ec0032c478ade8bb7b1255a023;hp=1783bc605377c3d2a3b998d09178b9f468e3a42d;hpb=b08ac3c0a704c22a293c2e74b17df24fb46ab3e7;p=friendica.git diff --git a/tests/DatabaseTest.php b/tests/DatabaseTest.php index 1783bc6053..4f0275493c 100644 --- a/tests/DatabaseTest.php +++ b/tests/DatabaseTest.php @@ -5,6 +5,7 @@ namespace Friendica\Test; +use Friendica\Database\Database; use Friendica\Test\Util\Database\StaticDatabase; /** @@ -30,4 +31,30 @@ abstract class DatabaseTest extends MockedTest 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) + { + $this->assertFileExists($fixture); + + $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); + } + } + } }