X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2FDatabaseTest.php;h=cc13c4bc897d697a587daa96b2a46f7595a4763f;hb=56f8adcb80a9005302a7896c63d868eff6779845;hp=5f9d3bf72cdc05b835e18443463f01c5bc49a296;hpb=1d8b80922795c35c36e10f3415310a9ef04dd9cd;p=friendica.git diff --git a/tests/DatabaseTest.php b/tests/DatabaseTest.php index 5f9d3bf72c..cc13c4bc89 100644 --- a/tests/DatabaseTest.php +++ b/tests/DatabaseTest.php @@ -1,92 +1,44 @@ . + * */ namespace Friendica\Test; -use Friendica\App\Mode; -use Friendica\Core\Config\Cache\ConfigCache; -use Friendica\Database\Database; -use Friendica\Factory\ConfigFactory; -use Friendica\Util\BasePath; -use Friendica\Util\ConfigFileLoader; -use Friendica\Util\Profiler; -use PHPUnit\DbUnit\DataSet\YamlDataSet; -use PHPUnit\DbUnit\TestCaseTrait; -use PHPUnit_Extensions_Database_DB_IDatabaseConnection; -use Psr\Log\NullLogger; - -require_once __DIR__ . '/../boot.php'; - /** * Abstract class used by tests that need a database. */ abstract class DatabaseTest extends MockedTest { - use TestCaseTrait; - - /** @var Database */ - protected static $dba; - - /** @var BasePath */ - protected static $basePath; - - /** @var Mode */ - protected static $mode; - - /** @var ConfigCache */ - protected static $configCache; + use DatabaseTestTrait; - /** @var Profiler */ - protected static $profiler; - - public static function setUpBeforeClass() + protected function setUp(): void { - parent::setUpBeforeClass(); + $this->setUpDb(); - self::$basePath = new BasePath(dirname(__DIR__)); - $configLoader = new ConfigFileLoader(self::$basePath->getPath()); - $configFactory = new ConfigFactory(); - self::$configCache = $configFactory->createCache($configLoader); - self::$profiler = new Profiler(self::$configCache); - self::$dba = new Database(self::$configCache, self::$profiler, new NullLogger(), $_SERVER); - self::$mode = new Mode(self::$basePath, self::$dba, self::$configCache); + parent::setUp(); } - /** - * Get database connection. - * - * This function is executed before each test in order to get a database connection that can be used by tests. - * If no prior connection is available, it tries to create one using the USER, PASS and DB environment variables. - * - * If it could not connect to the database, the test is skipped. - * - * @return PHPUnit_Extensions_Database_DB_IDatabaseConnection - * @see https://phpunit.de/manual/5.7/en/database.html - */ - protected function getConnection() + protected function tearDown(): void { - if (!getenv('MYSQL_DATABASE')) { - $this->markTestSkipped('Please set the MYSQL_* environment variables to your test database credentials.'); - } - - if (!self::$dba->isConnected()) { - if (!self::$dba->connect()) { - $this->markTestSkipped('Could not connect to the database.'); - } - } + $this->tearDownDb(); - return $this->createDefaultDBConnection(self::$dba->getConnection(), getenv('MYSQL_DATABASE')); - } - - /** - * Get dataset to populate the database with. - * @return YamlDataSet - * @see https://phpunit.de/manual/5.7/en/database.html - */ - protected function getDataSet() - { - return new YamlDataSet(__DIR__ . '/datasets/api.yml'); + parent::tearDown(); } }