wiki.techinc.nl/tests/phpunit/includes/filebackend/FileBackendGroupIntegrationTest.php
libraryupgrader 5357695270 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 36.0.0 → 37.0.0
  The following sniffs now pass and were enabled:
  * Generic.ControlStructures.InlineControlStructure
  * MediaWiki.PHPUnit.AssertCount.NotUsed

npm:
* svgo: 2.3.0 → 2.3.1
  * https://npmjs.com/advisories/1754 (CVE-2021-33587)

Change-Id: I2a9bbee2fecbf7259876d335f565ece4b3622426
2021-07-22 03:36:05 +00:00

65 lines
1.9 KiB
PHP

<?php
use MediaWiki\FileBackend\LockManager\LockManagerGroupFactory;
use MediaWiki\MediaWikiServices;
/**
* @coversDefaultClass FileBackendGroup
* @covers ::singleton
* @covers ::destroySingleton
*/
class FileBackendGroupIntegrationTest extends MediaWikiIntegrationTestCase {
use FileBackendGroupTestTrait;
private static function getWikiID() {
return wfWikiID();
}
private function getLockManagerGroupFactory( $domain ): LockManagerGroupFactory {
return MediaWikiServices::getInstance()->getLockManagerGroupFactory();
}
private function newObj( array $options = [] ): FileBackendGroup {
$globals = [ 'DirectoryMode', 'FileBackends', 'ForeignFileRepos', 'LocalFileRepo' ];
foreach ( $globals as $global ) {
$this->setMwGlobals(
"wg$global", $options[$global] ?? self::getDefaultOptions()[$global] );
}
$serviceMembers = [
'configuredROMode' => 'ConfiguredReadOnlyMode',
'srvCache' => 'LocalServerObjectCache',
'wanCache' => 'MainWANObjectCache',
'mimeAnalyzer' => 'MimeAnalyzer',
'lmgFactory' => 'LockManagerGroupFactory',
'tmpFileFactory' => 'TempFSFileFactory',
];
foreach ( $serviceMembers as $key => $name ) {
if ( isset( $options[$key] ) ) {
$this->setService( $name, $options[$key] );
}
}
$this->assertEmpty(
array_diff( array_keys( $options ), $globals, array_keys( $serviceMembers ) ) );
$this->resetServices();
$services = MediaWikiServices::getInstance();
$services->resetServiceForTesting( 'FileBackendGroup' );
$obj = $services->getFileBackendGroup();
foreach ( $serviceMembers as $key => $name ) {
$this->$key = $services->getService( $name );
if ( $key === 'srvCache' && $this->$key instanceof EmptyBagOStuff ) {
// ServiceWiring will have created its own HashBagOStuff that we don't have a
// reference to. Set null instead.
$this->srvCache = null;
}
}
return $obj;
}
}