. * */ namespace Friendica\Test\src\Core\Cache; use Exception; use Friendica\Core\Cache\MemcacheCache; use Friendica\Core\Config\IConfig; use Mockery; /** * @requires extension memcache * @group MEMCACHE */ class MemcacheCacheTest extends MemoryCacheTest { protected function getInstance() { $configMock = Mockery::mock(IConfig::class); $host = $_SERVER['MEMCACHE_HOST'] ?? 'localhost'; $port = $_SERVER['MEMCACHE_PORT'] ?? '11211'; $configMock ->shouldReceive('get') ->with('system', 'memcache_host') ->andReturn($host); $configMock ->shouldReceive('get') ->with('system', 'memcache_port') ->andReturn($port); try { $this->cache = new MemcacheCache($host, $configMock); } catch (Exception $e) { static::markTestSkipped('Memcache is not available'); } return $this->cache; } protected function tearDown() { $this->cache->clear(false); parent::tearDown(); } /** * @small * * @dataProvider dataSimple */ public function testGetAllKeys($value1, $value2, $value3) { static::markTestIncomplete('Race condition because of too fast getAllKeys() which uses a workaround'); } }