. * */ namespace Friendica\Test\src\Core\Cache; use Exception; use Friendica\Core\Cache\Type\MemcachedCache; use Friendica\Core\Config\IConfig; use Mockery; use Psr\Log\NullLogger; /** * @requires extension memcached * @group MEMCACHED */ class MemcachedCacheTest extends MemoryCacheTest { protected function getInstance() { $configMock = Mockery::mock(IConfig::class); $host = $_SERVER['MEMCACHED_HOST'] ?? 'localhost'; $port = $_SERVER['MEMCACHED_PORT'] ?? '11211'; $configMock ->shouldReceive('get') ->with('system', 'memcached_hosts') ->andReturn([0 => $host . ', ' . $port]); $logger = new NullLogger(); try { $this->cache = new MemcachedCache($host, $configMock, $logger); } catch (Exception $exception) { static::markTestSkipped('Memcached is not available'); } return $this->cache; } protected function tearDown(): void { $this->cache->clear(false); parent::tearDown(); } /** * @small * * @dataProvider dataSimple * @doesNotPerformAssertions */ public function testGetAllKeys($value1, $value2, $value3) { static::markTestIncomplete('Race condition because of too fast getAllKeys() which uses a workaround'); } }