. * */ namespace Friendica\Test\src\Model\Storage; use Friendica\Factory\ConfigFactory; use Friendica\Model\Storage\Database; use Friendica\Model\Storage\IWritableStorage; use Friendica\Test\DatabaseTestTrait; use Friendica\Test\Util\Database\StaticDatabase; use Friendica\Test\Util\VFSTrait; use Friendica\Util\ConfigFileLoader; use Friendica\Util\Profiler; use Psr\Log\NullLogger; class DatabaseStorageTest extends StorageTest { use DatabaseTestTrait; use VFSTrait; protected function setUp(): void { $this->setUpVfsDir(); $this->setUpDb(); parent::setUp(); } protected function getInstance() { $logger = new NullLogger(); $profiler = \Mockery::mock(Profiler::class); $profiler->shouldReceive('startRecording'); $profiler->shouldReceive('stopRecording'); $profiler->shouldReceive('saveTimestamp')->withAnyArgs()->andReturn(true); // load real config to avoid mocking every config-entry which is related to the Database class $configFactory = new ConfigFactory(); $loader = (new ConfigFactory())->createConfigFileLoader($this->root->url(), []); $configCache = $configFactory->createCache($loader); $dba = new StaticDatabase($configCache, $profiler, $logger); return new Database($dba); } protected function assertOption(IWritableStorage $storage) { self::assertEmpty($storage->getOptions()); } protected function tearDown(): void { $this->tearDownDb(); parent::tearDown(); } }