public function testConstructor() { $backend = TestUtils::getDummySessionBackend(); \TestingAccessWrapper::newFromObject($backend)->requests = array(-1 => 'dummy'); \TestingAccessWrapper::newFromObject($backend)->id = new SessionId('abc'); $session = new Session($backend, 42); $priv = \TestingAccessWrapper::newFromObject($session); $this->assertSame($backend, $priv->backend); $this->assertSame(42, $priv->index); $request = new \FauxRequest(); $priv2 = \TestingAccessWrapper::newFromObject($session->sessionWithRequest($request)); $this->assertSame($backend, $priv2->backend); $this->assertNotSame($priv->index, $priv2->index); $this->assertSame($request, $priv2->getRequest()); }
public function testGetAllowedUserRights() { $provider = $this->getMockForAbstractClass('MediaWiki\\Session\\SessionProvider'); $backend = TestUtils::getDummySessionBackend(); try { $provider->getAllowedUserRights($backend); $this->fail('Expected exception not thrown'); } catch (\InvalidArgumentException $ex) { $this->assertSame('Backend\'s provider isn\'t $this', $ex->getMessage()); } \TestingAccessWrapper::newFromObject($backend)->provider = $provider; $this->assertNull($provider->getAllowedUserRights($backend)); }
public function testGetAllowedUserRights() { $logger = new \TestLogger(true); $provider = $this->getProvider(); $provider->setLogger($logger); $backend = TestUtils::getDummySessionBackend(); $backendPriv = \TestingAccessWrapper::newFromObject($backend); try { $provider->getAllowedUserRights($backend); $this->fail('Expected exception not thrown'); } catch (\InvalidArgumentException $ex) { $this->assertSame('Backend\'s provider isn\'t $this', $ex->getMessage()); } $backendPriv->provider = $provider; $backendPriv->providerMetadata = ['rights' => ['foo', 'bar', 'baz']]; $this->assertSame(['foo', 'bar', 'baz'], $provider->getAllowedUserRights($backend)); $this->assertSame([], $logger->getBuffer()); $backendPriv->providerMetadata = ['foo' => 'bar']; $this->assertSame([], $provider->getAllowedUserRights($backend)); $this->assertSame([[LogLevel::DEBUG, 'MediaWiki\\Session\\BotPasswordSessionProvider::getAllowedUserRights: ' . 'No provider metadata, returning no rights allowed']], $logger->getBuffer()); $logger->clearBuffer(); $backendPriv->providerMetadata = ['rights' => 'bar']; $this->assertSame([], $provider->getAllowedUserRights($backend)); $this->assertSame([[LogLevel::DEBUG, 'MediaWiki\\Session\\BotPasswordSessionProvider::getAllowedUserRights: ' . 'No provider metadata, returning no rights allowed']], $logger->getBuffer()); $logger->clearBuffer(); $backendPriv->providerMetadata = null; $this->assertSame([], $provider->getAllowedUserRights($backend)); $this->assertSame([[LogLevel::DEBUG, 'MediaWiki\\Session\\BotPasswordSessionProvider::getAllowedUserRights: ' . 'No provider metadata, returning no rights allowed']], $logger->getBuffer()); $logger->clearBuffer(); }