X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmes_infos.php?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fauth%2FAuthManagerTest.php;h=a8405992fe8dd65f1c61e4436aeb5d3471c22ca5;hb=7471e1db1b613d035f981f489f8683a177acff7e;hp=f7be8019b91179fd06ecddc213e9f377ebc77b16;hpb=3a621c1a40b2ac6356aee994f5a5305d03e1f8d3;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/auth/AuthManagerTest.php b/tests/phpunit/includes/auth/AuthManagerTest.php index f7be8019b9..a8405992fe 100644 --- a/tests/phpunit/includes/auth/AuthManagerTest.php +++ b/tests/phpunit/includes/auth/AuthManagerTest.php @@ -7,6 +7,7 @@ use MediaWiki\Session\UserInfo; use Psr\Log\LogLevel; use StatusValue; use Wikimedia\ScopedCallback; +use Wikimedia\TestingAccessWrapper; /** * @group AuthManager @@ -45,7 +46,9 @@ class AuthManagerTest extends \MediaWikiTestCase { */ protected function hook( $hook, $expect ) { global $wgHooks; - $mock = $this->getMock( __CLASS__, [ "on$hook" ] ); + $mock = $this->getMockBuilder( __CLASS__ ) + ->setMethods( [ "on$hook" ] ) + ->getMock(); $wgHooks[$hook] = [ $mock ]; return $mock->expects( $expect )->method( "on$hook" ); } @@ -125,7 +128,7 @@ class AuthManagerTest extends \MediaWikiTestCase { } $this->manager = new AuthManager( $this->request, $this->config ); $this->manager->setLogger( $this->logger ); - $this->managerPriv = \TestingAccessWrapper::newFromObject( $this->manager ); + $this->managerPriv = TestingAccessWrapper::newFromObject( $this->manager ); } /** @@ -168,7 +171,7 @@ class AuthManagerTest extends \MediaWikiTestCase { 'logger' => new \Psr\Log\NullLogger(), 'store' => new \HashBagOStuff(), ] ); - \TestingAccessWrapper::newFromObject( $manager )->getProvider( (string)$provider ); + TestingAccessWrapper::newFromObject( $manager )->getProvider( (string)$provider ); $reset = \MediaWiki\Session\TestUtils::setSessionManagerSingleton( $manager ); @@ -194,7 +197,7 @@ class AuthManagerTest extends \MediaWikiTestCase { $this->assertSame( \RequestContext::getMain()->getRequest(), $singleton->getRequest() ); $this->assertSame( \RequestContext::getMain()->getConfig(), - \TestingAccessWrapper::newFromObject( $singleton )->config + TestingAccessWrapper::newFromObject( $singleton )->config ); } @@ -608,7 +611,7 @@ class AuthManagerTest extends \MediaWikiTestCase { $this->assertSame( 'de', $user->getOption( 'language' ) ); $this->assertSame( 'zh', $user->getOption( 'variant' ) ); - $this->setMwGlobals( 'wgContLang', \Language::factory( 'en' ) ); + $this->setMwGlobals( 'wgContLang', \Language::factory( 'fr' ) ); $user = \User::newFromName( self::usernameForCreation() ); $user->addToDatabase(); @@ -762,9 +765,9 @@ class AuthManagerTest extends \MediaWikiTestCase { public function testCreateFromLogin() { $user = \User::newFromName( 'UTSysop' ); - $req1 = $this->getMock( AuthenticationRequest::class ); - $req2 = $this->getMock( AuthenticationRequest::class ); - $req3 = $this->getMock( AuthenticationRequest::class ); + $req1 = $this->createMock( AuthenticationRequest::class ); + $req2 = $this->createMock( AuthenticationRequest::class ); + $req3 = $this->createMock( AuthenticationRequest::class ); $userReq = new UsernameAuthenticationRequest; $userReq->username = 'UTDummy'; @@ -1402,12 +1405,13 @@ class AuthManagerTest extends \MediaWikiTestCase { $this->manager->checkAccountCreatePermissions( new \User ) ); - $this->setMwGlobals( [ 'wgReadOnly' => 'Because' ] ); + $readOnlyMode = \MediaWiki\MediaWikiServices::getInstance()->getReadOnlyMode(); + $readOnlyMode->setReason( 'Because' ); $this->assertEquals( \Status::newFatal( 'readonlytext', 'Because' ), $this->manager->checkAccountCreatePermissions( new \User ) ); - $this->setMwGlobals( [ 'wgReadOnly' => false ] ); + $readOnlyMode->setReason( false ); $wgGroupPermissions['*']['createaccount'] = false; $status = $this->manager->checkAccountCreatePermissions( new \User ); @@ -1595,7 +1599,8 @@ class AuthManagerTest extends \MediaWikiTestCase { $this->assertSame( AuthenticationResponse::FAIL, $ret->status ); $this->assertSame( 'noname', $ret->message->getKey() ); - $this->setMwGlobals( [ 'wgReadOnly' => 'Because' ] ); + $readOnlyMode = \MediaWiki\MediaWikiServices::getInstance()->getReadOnlyMode(); + $readOnlyMode->setReason( 'Because' ); $this->hook( 'LocalUserCreated', $this->never() ); $userReq->username = self::usernameForCreation(); $ret = $this->manager->beginAccountCreation( $creator, [ $userReq ], 'http://localhost/' ); @@ -1603,7 +1608,7 @@ class AuthManagerTest extends \MediaWikiTestCase { $this->assertSame( AuthenticationResponse::FAIL, $ret->status ); $this->assertSame( 'readonlytext', $ret->message->getKey() ); $this->assertSame( [ 'Because' ], $ret->message->getParams() ); - $this->setMwGlobals( [ 'wgReadOnly' => false ] ); + $readOnlyMode->setReason( false ); $this->hook( 'LocalUserCreated', $this->never() ); $userReq->username = self::usernameForCreation(); @@ -1768,14 +1773,15 @@ class AuthManagerTest extends \MediaWikiTestCase { $this->request->getSession()->setSecret( 'AuthManager::accountCreationState', [ 'username' => $creator->getName() ] + $session ); - $this->setMwGlobals( [ 'wgReadOnly' => 'Because' ] ); + $readOnlyMode = \MediaWiki\MediaWikiServices::getInstance()->getReadOnlyMode(); + $readOnlyMode->setReason( 'Because' ); $this->hook( 'LocalUserCreated', $this->never() ); $ret = $this->manager->continueAccountCreation( [] ); $this->unhook( 'LocalUserCreated' ); $this->assertSame( AuthenticationResponse::FAIL, $ret->status ); $this->assertSame( 'readonlytext', $ret->message->getKey() ); $this->assertSame( [ 'Because' ], $ret->message->getParams() ); - $this->setMwGlobals( [ 'wgReadOnly' => false ] ); + $readOnlyMode->setReason( false ); $this->request->getSession()->setSecret( 'AuthManager::accountCreationState', [ 'username' => $creator->getName() ] + $session ); @@ -2466,7 +2472,8 @@ class AuthManagerTest extends \MediaWikiTestCase { // Wiki is read-only $session->clear(); - $this->setMwGlobals( [ 'wgReadOnly' => 'Because' ] ); + $readOnlyMode = \MediaWiki\MediaWikiServices::getInstance()->getReadOnlyMode(); + $readOnlyMode->setReason( 'Because' ); $user = \User::newFromName( $username ); $this->hook( 'LocalUserCreated', $this->never() ); $ret = $this->manager->autoCreateUser( $user, AuthManager::AUTOCREATE_SOURCE_SESSION, true ); @@ -2479,7 +2486,7 @@ class AuthManagerTest extends \MediaWikiTestCase { [ LogLevel::DEBUG, 'denied by wfReadOnly(): {reason}' ], ], $logger->getBuffer() ); $logger->clearBuffer(); - $this->setMwGlobals( [ 'wgReadOnly' => false ] ); + $readOnlyMode->setReason( false ); // Session blacklisted $session->clear(); @@ -2661,7 +2668,8 @@ class AuthManagerTest extends \MediaWikiTestCase { // Test addToDatabase fails $session->clear(); - $user = $this->getMock( 'User', [ 'addToDatabase' ] ); + $user = $this->getMockBuilder( 'User' ) + ->setMethods( [ 'addToDatabase' ] )->getMock(); $user->expects( $this->once() )->method( 'addToDatabase' ) ->will( $this->returnValue( \Status::newFatal( 'because' ) ) ); $user->setName( $username ); @@ -2682,7 +2690,8 @@ class AuthManagerTest extends \MediaWikiTestCase { $backoffKey = wfMemcKey( 'AuthManager', 'autocreate-failed', md5( $username ) ); $this->assertFalse( $cache->get( $backoffKey ), 'sanity check' ); $session->clear(); - $user = $this->getMock( 'User', [ 'addToDatabase' ] ); + $user = $this->getMockBuilder( 'User' ) + ->setMethods( [ 'addToDatabase' ] )->getMock(); $user->expects( $this->once() )->method( 'addToDatabase' ) ->will( $this->throwException( new \Exception( 'Excepted' ) ) ); $user->setName( $username ); @@ -2705,7 +2714,8 @@ class AuthManagerTest extends \MediaWikiTestCase { // Test addToDatabase fails because the user already exists. $session->clear(); - $user = $this->getMock( 'User', [ 'addToDatabase' ] ); + $user = $this->getMockBuilder( 'User' ) + ->setMethods( [ 'addToDatabase' ] )->getMock(); $user->expects( $this->once() )->method( 'addToDatabase' ) ->will( $this->returnCallback( function () use ( $username, &$user ) { $oldUser = \User::newFromName( $username ); @@ -2813,7 +2823,7 @@ class AuthManagerTest extends \MediaWikiTestCase { */ public function testGetAuthenticationRequests( $action, $expect, $state = [] ) { $makeReq = function ( $key ) use ( $action ) { - $req = $this->getMock( AuthenticationRequest::class ); + $req = $this->createMock( AuthenticationRequest::class ); $req->expects( $this->any() )->method( 'getUniqueId' ) ->will( $this->returnValue( $key ) ); $req->action = $action === AuthManager::ACTION_UNLINK ? AuthManager::ACTION_REMOVE : $action; @@ -3016,7 +3026,7 @@ class AuthManagerTest extends \MediaWikiTestCase { public function testGetAuthenticationRequestsRequired() { $makeReq = function ( $key, $required ) { - $req = $this->getMock( AuthenticationRequest::class ); + $req = $this->createMock( AuthenticationRequest::class ); $req->expects( $this->any() )->method( 'getUniqueId' ) ->will( $this->returnValue( $key ) ); $req->action = AuthManager::ACTION_LOGIN; @@ -3146,7 +3156,7 @@ class AuthManagerTest extends \MediaWikiTestCase { public function testAutoCreateOnLogin() { $username = self::usernameForCreation(); - $req = $this->getMock( AuthenticationRequest::class ); + $req = $this->createMock( AuthenticationRequest::class ); $mock = $this->getMockForAbstractClass( PrimaryAuthenticationProvider::class ); $mock->expects( $this->any() )->method( 'getUniqueId' )->will( $this->returnValue( 'primary' ) );