blob: e59bfdd33052c6b5c4ed9b117cd9d8d6e60c4579 (
plain) (
blame)
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
40
41
|
<?php
use MediaWiki\MainConfigNames;
use MediaWiki\WikiMap\WikiMap;
/**
* @group FileBackend
* @covers SwiftFileBackend
*/
class SwiftFileBackendIntegrationTest extends FileBackendIntegrationTestBase {
private static $backendToUse;
private function getBackendConfig(): ?array {
$backends = $this->getServiceContainer()->getMainConfig()->get( MainConfigNames::FileBackends );
foreach ( $backends as $conf ) {
if ( $conf['class'] === SwiftFileBackend::class ) {
return $conf;
}
}
return null;
}
protected function getBackend() {
if ( !self::$backendToUse ) {
$conf = $this->getBackendConfig();
if ( $conf === null ) {
$this->markTestSkipped( 'Configure a Swift file backend in $wgFileBackends to enable this test' );
}
$conf['name'] = 'localtesting'; // swap name
$conf['shardViaHashLevels'] = [ // test sharding
'unittest-cont1' => [ 'levels' => 1, 'base' => 16, 'repeat' => 1 ]
];
$lockManagerGroup = $this->getServiceContainer()
->getLockManagerGroupFactory()->getLockManagerGroup();
$conf['lockManager'] = $lockManagerGroup->get( $conf['lockManager'] );
$conf['domainId'] = WikiMap::getCurrentWikiId();
self::$backendToUse = new SwiftFileBackend( $conf );
}
return self::$backendToUse;
}
}
|