mirror of
https://git.sekbaer.de/Friendica/friendica.git
synced 2025-06-07 15:54:26 +02:00
78 lines
1.9 KiB
PHP
78 lines
1.9 KiB
PHP
<?php
|
|
|
|
// Copyright (C) 2010-2024, the Friendica project
|
|
// SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
namespace Friendica\Test\src\Core\Cache;
|
|
|
|
use Exception;
|
|
use Friendica\Core\Cache\Type\MemcachedCache;
|
|
use Friendica\Core\Config\Capability\IManageConfigValues;
|
|
use Friendica\Test\MemoryCacheTestCase;
|
|
use Mockery;
|
|
use Psr\Log\NullLogger;
|
|
|
|
/**
|
|
* @requires extension memcached
|
|
* @group MEMCACHED
|
|
*/
|
|
class MemcachedCacheTest extends MemoryCacheTestCase
|
|
{
|
|
protected function getInstance()
|
|
{
|
|
$configMock = Mockery::mock(IManageConfigValues::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');
|
|
}
|
|
|
|
/**
|
|
* @small
|
|
*/
|
|
public function testStats()
|
|
{
|
|
$stats = $this->instance->getStats();
|
|
|
|
self::assertNotNull($stats['version']);
|
|
self::assertIsNumeric($stats['hits']);
|
|
self::assertIsNumeric($stats['misses']);
|
|
self::assertIsNumeric($stats['evictions']);
|
|
self::assertIsNumeric($stats['entries']);
|
|
self::assertIsNumeric($stats['used_memory']);
|
|
self::assertGreaterThan(0, $stats['connected_clients']);
|
|
self::assertGreaterThan(0, $stats['uptime']);
|
|
}
|
|
}
|