1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<?php
use MediaWiki\MainConfigNames;
/**
* @group LockManager
* @covers RedisLockManager
*/
class RedisLockManagerIntegrationTest extends LockManagerIntegrationTestBase {
/** @var LockManager[] */
private static $managersToUse = [];
private function getManagerConfig(): ?array {
$backends = $this->getServiceContainer()->getMainConfig()->get( MainConfigNames::LockManagers );
foreach ( $backends as $conf ) {
if ( $conf['class'] === RedisLockManager::class ) {
return $conf;
}
}
return null;
}
protected function getManager( $threadName ) {
if ( !isset( self::$managersToUse[$threadName] ) ) {
$conf = $this->getManagerConfig();
if ( $conf === null ) {
$this->markTestSkipped(
'Configure a RedisLockManager in $wgLockManagers to enable this test' );
}
$conf['name'] = 'localtesting'; // swap name
$conf['domain'] = 'testingdomain';
$conf['lockTTL'] = 60;
self::$managersToUse[$threadName] = new RedisLockManager( $conf );
}
return self::$managersToUse[$threadName];
}
}
|