use Psr\Log\LogLevel;
use MediaWikiTestCase;
use User;
+use Wikimedia\TestingAccessWrapper;
/**
* @group Session
public function testConstructor() {
$backend = TestUtils::getDummySessionBackend();
- \TestingAccessWrapper::newFromObject( $backend )->requests = [ -1 => 'dummy' ];
- \TestingAccessWrapper::newFromObject( $backend )->id = new SessionId( 'abc' );
+ TestingAccessWrapper::newFromObject( $backend )->requests = [ -1 => 'dummy' ];
+ TestingAccessWrapper::newFromObject( $backend )->id = new SessionId( 'abc' );
$session = new Session( $backend, 42, new \TestLogger );
- $priv = \TestingAccessWrapper::newFromObject( $session );
+ $priv = TestingAccessWrapper::newFromObject( $session );
$this->assertSame( $backend, $priv->backend );
$this->assertSame( 42, $priv->index );
$request = new \FauxRequest();
- $priv2 = \TestingAccessWrapper::newFromObject( $session->sessionWithRequest( $request ) );
+ $priv2 = TestingAccessWrapper::newFromObject( $session->sessionWithRequest( $request ) );
$this->assertSame( $backend, $priv2->backend );
$this->assertNotSame( $priv->index, $priv2->index );
$this->assertSame( $request, $priv2->getRequest() );
* @param bool $ret Whether the method returns a value
*/
public function testMethods( $m, $args, $index, $ret ) {
- $mock = $this->getMock( DummySessionBackend::class,
- [ $m, 'deregisterSession' ] );
+ $mock = $this->getMockBuilder( DummySessionBackend::class )
+ ->setMethods( [ $m, 'deregisterSession' ] )
+ ->getMock();
$mock->expects( $this->once() )->method( 'deregisterSession' )
->with( $this->identicalTo( 42 ) );
public function testDataAccess() {
$session = TestUtils::getDummySession();
- $backend = \TestingAccessWrapper::newFromObject( $session )->backend;
+ $backend = TestingAccessWrapper::newFromObject( $session )->backend;
$this->assertEquals( 1, $session->get( 'foo' ) );
$this->assertEquals( 'zero', $session->get( 0 ) );
public function testArrayAccess() {
$logger = new \TestLogger;
$session = TestUtils::getDummySession( null, -1, $logger );
- $backend = \TestingAccessWrapper::newFromObject( $session )->backend;
+ $backend = TestingAccessWrapper::newFromObject( $session )->backend;
$this->assertEquals( 1, $session['foo'] );
$this->assertEquals( 'zero', $session[0] );
public function testClear() {
$session = TestUtils::getDummySession();
- $priv = \TestingAccessWrapper::newFromObject( $session );
+ $priv = TestingAccessWrapper::newFromObject( $session );
- $backend = $this->getMock(
- DummySessionBackend::class, [ 'canSetUser', 'setUser', 'save' ]
- );
+ $backend = $this->getMockBuilder( DummySessionBackend::class )
+ ->setMethods( [ 'canSetUser', 'setUser', 'save' ] )
+ ->getMock();
$backend->expects( $this->once() )->method( 'canSetUser' )
->will( $this->returnValue( true ) );
$backend->expects( $this->once() )->method( 'setUser' )
$this->assertSame( [], $backend->data );
$this->assertTrue( $backend->dirty );
- $backend = $this->getMock(
- DummySessionBackend::class, [ 'canSetUser', 'setUser', 'save' ]
- );
+ $backend = $this->getMockBuilder( DummySessionBackend::class )
+ ->setMethods( [ 'canSetUser', 'setUser', 'save' ] )
+ ->getMock();
$backend->data = [];
$backend->expects( $this->once() )->method( 'canSetUser' )
->will( $this->returnValue( true ) );
$session->clear();
$this->assertFalse( $backend->dirty );
- $backend = $this->getMock(
- DummySessionBackend::class, [ 'canSetUser', 'setUser', 'save' ]
- );
+ $backend = $this->getMockBuilder( DummySessionBackend::class )
+ ->setMethods( [ 'canSetUser', 'setUser', 'save' ] )
+ ->getMock();
$backend->expects( $this->once() )->method( 'canSetUser' )
->will( $this->returnValue( false ) );
$backend->expects( $this->never() )->method( 'setUser' );
public function testTokens() {
$session = TestUtils::getDummySession();
- $priv = \TestingAccessWrapper::newFromObject( $session );
+ $priv = TestingAccessWrapper::newFromObject( $session );
$backend = $priv->backend;
- $token = \TestingAccessWrapper::newFromObject( $session->getToken() );
+ $token = TestingAccessWrapper::newFromObject( $session->getToken() );
$this->assertArrayHasKey( 'wsTokenSecrets', $backend->data );
$this->assertArrayHasKey( 'default', $backend->data['wsTokenSecrets'] );
$secret = $backend->data['wsTokenSecrets']['default'];
$this->assertSame( '', $token->salt );
$this->assertTrue( $token->wasNew() );
- $token = \TestingAccessWrapper::newFromObject( $session->getToken( 'foo' ) );
+ $token = TestingAccessWrapper::newFromObject( $session->getToken( 'foo' ) );
$this->assertSame( $secret, $token->secret );
$this->assertSame( 'foo', $token->salt );
$this->assertFalse( $token->wasNew() );
$backend->data['wsTokenSecrets']['secret'] = 'sekret';
- $token = \TestingAccessWrapper::newFromObject(
+ $token = TestingAccessWrapper::newFromObject(
$session->getToken( [ 'bar', 'baz' ], 'secret' )
);
$this->assertSame( 'sekret', $token->secret );
$session->resetAllTokens();
$this->assertArrayNotHasKey( 'wsTokenSecrets', $backend->data );
-
}
/**
// Unserializable data
$iv = \MWCryptRand::generate( 16, true );
- list( $encKey, $hmacKey ) = \TestingAccessWrapper::newFromObject( $session )->getSecretKeys();
+ list( $encKey, $hmacKey ) = TestingAccessWrapper::newFromObject( $session )->getSecretKeys();
$ciphertext = openssl_encrypt( 'foobar', 'aes-256-ctr', $encKey, OPENSSL_RAW_DATA, $iv );
$sealed = base64_encode( $iv ) . '.' . base64_encode( $ciphertext );
$hmac = hash_hmac( 'sha256', $sealed, $hmacKey, true );