diff options
Diffstat (limited to 'tests/phpunit')
-rw-r--r-- | tests/phpunit/includes/block/BlockManagerTest.php | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/tests/phpunit/includes/block/BlockManagerTest.php b/tests/phpunit/includes/block/BlockManagerTest.php index 0ed5cd6133a9..fe3bb88725c4 100644 --- a/tests/phpunit/includes/block/BlockManagerTest.php +++ b/tests/phpunit/includes/block/BlockManagerTest.php @@ -3,6 +3,8 @@ use MediaWiki\Block\BlockManager; use MediaWiki\Block\DatabaseBlock; use MediaWiki\Block\SystemBlock; +use MediaWiki\Config\ServiceOptions; +use MediaWiki\MediaWikiServices; /** * @group Blocking @@ -36,14 +38,25 @@ class BlockManagerTest extends MediaWikiTestCase { } private function getBlockManager( $overrideConfig ) { - $blockManagerConfig = array_merge( $this->blockManagerConfig, $overrideConfig ); return new BlockManager( - $this->user, - $this->user->getRequest(), - ...array_values( $blockManagerConfig ) + ...$this->getBlockManagerConstructorArgs( $overrideConfig ) ); } + private function getBlockManagerConstructorArgs( $overrideConfig ) { + $blockManagerConfig = array_merge( $this->blockManagerConfig, $overrideConfig ); + $this->setMwGlobals( $blockManagerConfig ); + $this->overrideMwServices(); + return [ + new ServiceOptions( + BlockManager::$constructorOptions, + MediaWikiServices::getInstance()->getMainConfig() + ), + $this->user, + $this->user->getRequest() + ]; + } + /** * @dataProvider provideGetBlockFromCookieValue * @covers ::getBlockFromCookieValue @@ -179,18 +192,14 @@ class BlockManagerTest extends MediaWikiTestCase { * @covers ::inDnsBlacklist */ public function testIsDnsBlacklisted( $options, $expected ) { - $blockManagerConfig = array_merge( $this->blockManagerConfig, [ + $blockManagerConfig = [ 'wgEnableDnsBlacklist' => true, 'wgDnsBlacklistUrls' => $options['blacklist'], 'wgProxyWhitelist' => $options['whitelist'], - ] ); + ]; $blockManager = $this->getMockBuilder( BlockManager::class ) - ->setConstructorArgs( - array_merge( [ - $this->user, - $this->user->getRequest(), - ], $blockManagerConfig ) ) + ->setConstructorArgs( $this->getBlockManagerConstructorArgs( $blockManagerConfig ) ) ->setMethods( [ 'checkHost' ] ) ->getMock(); |