use Psr\Log\LogLevel;
use StatusValue;
use Wikimedia\ScopedCallback;
+ use Wikimedia\TestingAccessWrapper;
/**
* @group AuthManager
}
$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 );
}
/**
'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 );
$this->assertSame( \RequestContext::getMain()->getRequest(), $singleton->getRequest() );
$this->assertSame(
\RequestContext::getMain()->getConfig(),
- \TestingAccessWrapper::newFromObject( $singleton )->config
+ TestingAccessWrapper::newFromObject( $singleton )->config
);
}
$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 );
$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/' );
$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();
$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 );
// 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 );
[ LogLevel::DEBUG, 'denied by wfReadOnly(): {reason}' ],
], $logger->getBuffer() );
$logger->clearBuffer();
- $this->setMwGlobals( [ 'wgReadOnly' => false ] );
+ $readOnlyMode->setReason( false );
// Session blacklisted
$session->clear();