);
$this->setMwGlobals( array(
- 'wgMemc' => new EmptyBagOStuff(),
'wgAuth' => new StubObject( 'wgAuth', 'AuthPlugin' ),
'wgRequest' => new FauxRequest( array() ),
'wgUser' => self::$users['sysop']->user,
protected function tearDown() {
// Avoid leaking session over tests
- if ( session_id() != '' ) {
- global $wgUser;
- $wgUser->logout();
- session_destroy();
- }
+ MediaWiki\Session\SessionManager::getGlobalSession()->clear();
parent::tearDown();
}
$wgRequest = new FauxRequest( $params, true, $session );
RequestContext::getMain()->setRequest( $wgRequest );
+ RequestContext::getMain()->setUser( $wgUser );
// set up local environment
$context = $this->apiContext->newTestContext( $wgRequest, $wgUser );
if ( isset( $session['wsToken'] ) && $session['wsToken'] ) {
// @todo Why does this directly mess with the session? Fix that.
// add edit token to fake session
- $session['wsEditToken'] = $session['wsToken'];
+ $session['wsTokenSecrets']['default'] = $session['wsToken'];
// add token to request parameters
$timestamp = wfTimestamp();
$params['token'] = hash_hmac( 'md5', $timestamp, $session['wsToken'] ) .
dechex( $timestamp ) .
- User::EDIT_TOKEN_SUFFIX;
+ MediaWiki\Session\Token::SUFFIX;
return $this->doApiRequest( $params, $session, false, $user );
} else {