diff options
Diffstat (limited to 'tests/phpunit/integration/includes/libs/filebackend/SwiftFileBackendIntegrationTest.php')
-rw-r--r-- | tests/phpunit/integration/includes/libs/filebackend/SwiftFileBackendIntegrationTest.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/phpunit/integration/includes/libs/filebackend/SwiftFileBackendIntegrationTest.php b/tests/phpunit/integration/includes/libs/filebackend/SwiftFileBackendIntegrationTest.php new file mode 100644 index 000000000000..e59bfdd33052 --- /dev/null +++ b/tests/phpunit/integration/includes/libs/filebackend/SwiftFileBackendIntegrationTest.php @@ -0,0 +1,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; + } +} |