]> git.mxchange.org Git - friendica.git/blob - tests/src/Core/Cache/DatabaseCacheTest.php
wrapping up 2019.12
[friendica.git] / tests / src / Core / Cache / DatabaseCacheTest.php
1 <?php
2
3 namespace Friendica\Test\src\Core\Cache;
4
5 use Friendica\Core\Cache;
6 use Friendica\Factory\ConfigFactory;
7 use Friendica\Test\DatabaseTestTrait;
8 use Friendica\Test\Util\Database\StaticDatabase;
9 use Friendica\Test\Util\VFSTrait;
10 use Friendica\Util\ConfigFileLoader;
11 use Friendica\Util\Profiler;
12 use Psr\Log\NullLogger;
13
14 class DatabaseCacheTest extends CacheTest
15 {
16         use DatabaseTestTrait;
17         use VFSTrait;
18
19         protected function setUp()
20         {
21                 $this->setUpVfsDir();
22
23                 parent::setUp();
24         }
25
26         protected function getInstance()
27         {
28                 $logger = new NullLogger();
29                 $profiler = \Mockery::mock(Profiler::class);
30                 $profiler->shouldReceive('saveTimestamp')->withAnyArgs()->andReturn(true);
31
32                 // load real config to avoid mocking every config-entry which is related to the Database class
33                 $configFactory = new ConfigFactory();
34                 $loader = new ConfigFileLoader($this->root->url());
35                 $configCache = $configFactory->createCache($loader);
36
37                 $dba = new StaticDatabase($configCache, $profiler, $logger);
38
39                 $this->cache = new Cache\DatabaseCache('database', $dba);
40                 return $this->cache;
41         }
42
43         public function tearDown()
44         {
45                 $this->cache->clear(false);
46                 parent::tearDown();
47         }
48 }