aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/integration/includes/libs/filebackend/SwiftFileBackendIntegrationTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/integration/includes/libs/filebackend/SwiftFileBackendIntegrationTest.php')
-rw-r--r--tests/phpunit/integration/includes/libs/filebackend/SwiftFileBackendIntegrationTest.php41
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;
+ }
+}