namespace Friendica\Test\src\Core\Lock;
use Friendica\Core\Cache\RedisCache;
-use Friendica\Core\Config\Configuration;
+use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock\CacheLock;
/**
* @requires extension redis
+ * @group REDIS
*/
class RedisCacheLockTest extends LockTest
{
protected function getInstance()
{
- $configMock = \Mockery::mock(Configuration::class);
+ $configMock = \Mockery::mock(IConfiguration::class);
+
+ $host = $_SERVER['REDIS_HOST'] ?? 'localhost';
$configMock
->shouldReceive('get')
->with('system', 'redis_host')
- ->andReturn('localhost');
+ ->andReturn($host);
$configMock
->shouldReceive('get')
->with('system', 'redis_port')
->with('system', 'redis_password')
->andReturn(null);
- return new CacheLock(new RedisCache('localhost', $configMock));
+ $lock = null;
+
+ try {
+ $cache = new RedisCache($host, $configMock);
+ $lock = new CacheLock($cache);
+ } catch (\Exception $e) {
+ $this->markTestSkipped('Redis is not available');
+ }
+
+ return $lock;
}
}