BasicSecurityToken = BasicSecurityToken::createFromValues('owner', 'viewer', 'app', 'domain', 'appUrl', '1', 'default'); $this->anonymousToken = BasicSecurityToken::createFromValues(SecurityToken::$ANONYMOUS, SecurityToken::$ANONYMOUS, 'app', 'domain', 'appUrl', '1', 'default'); } /** * Cleans up the environment after running a test. */ protected function tearDown() { $this->BasicSecurityToken = null; $this->anonymousToken = null; TestBasicSecurityToken::resetRawToken(); unset($_SERVER['HTTP_AUTHORIZATION']); unset($_POST['st']); unset($_GET['st']); parent::tearDown(); } /** * Tests BasicSecurityToken::createFromValues(), toSerialForm() and createFromToken() */ public function testCreateFromValues() { $token = BasicSecurityToken::createFromValues('owner', 'viewer', 'app', 'domain', 'appUrl', '1', 'default'); $this->assertEquals('owner', $token->getOwnerId()); $this->assertEquals('viewer', $token->getViewerId()); $this->assertEquals('app', $token->getAppId()); $this->assertEquals('domain', $token->getDomain()); $this->assertEquals('appUrl', $token->getAppUrl()); $this->assertEquals('1', $token->getModuleId()); $stringToken = urldecode($token->toSerialForm()); $duplicatedToken = BasicSecurityToken::createFromToken($stringToken, Config::get('token_max_age')); $this->assertEquals('owner', $duplicatedToken->getOwnerId()); $this->assertEquals('viewer', $duplicatedToken->getViewerId()); $this->assertEquals('app', $duplicatedToken->getAppId()); $this->assertEquals('domain', $duplicatedToken->getDomain()); $this->assertEquals('appUrl', $duplicatedToken->getAppUrl()); $this->assertEquals('1', $duplicatedToken->getModuleId()); } /** * Tests BasicSecurityToken->getAppId() */ public function testGetAppId() { $this->assertEquals('app', $this->BasicSecurityToken->getAppId()); $this->setExpectedException('apache\shindig\common\sample\BasicSecurityTokenException'); $this->anonymousToken->getAppId(); } /** * Tests BasicSecurityToken->getAppUrl() */ public function testGetAppUrl() { $this->assertEquals('appUrl', $this->BasicSecurityToken->getAppUrl()); $this->setExpectedException('apache\shindig\common\sample\BasicSecurityTokenException'); $this->anonymousToken->getAppUrl(); } /** * Tests BasicSecurityToken->getDomain() */ public function testGetDomain() { $this->assertEquals('domain', $this->BasicSecurityToken->getDomain()); $this->setExpectedException('apache\shindig\common\sample\BasicSecurityTokenException'); $this->anonymousToken->getDomain(); } /** * Tests BasicSecurityToken->getModuleId() */ public function testGetModuleId() { $this->assertEquals(1, $this->BasicSecurityToken->getModuleId()); $this->setExpectedException('apache\shindig\common\sample\BasicSecurityTokenException'); $this->anonymousToken->getModuleId(); } /** * Tests BasicSecurityToken->getOwnerId() */ public function testGetOwnerId() { $this->assertEquals('owner', $this->BasicSecurityToken->getOwnerId()); $this->setExpectedException('apache\shindig\common\sample\BasicSecurityTokenException'); $this->anonymousToken->getOwnerId(); } /** * Tests BasicSecurityToken->getViewerId() */ public function testGetViewerId() { $this->assertEquals('viewer', $this->BasicSecurityToken->getViewerId()); $this->setExpectedException('apache\shindig\common\sample\BasicSecurityTokenException'); $this->anonymousToken->getViewerId(); } /** * Tests BasicSecurityToken->isAnonymous() */ public function testIsAnonymous() { $this->assertFalse($this->BasicSecurityToken->isAnonymous()); } public function testGetRawToken() { $_GET['st'] = 'abc'; $this->assertEquals('abc', BasicSecurityToken::getTokenStringFromRequest()); TestBasicSecurityToken::resetRawToken(); $_POST['st'] = 'def'; $_SERVER['HTTP_AUTHORIZATION'] = 'OAuth ghi'; $this->assertEquals('abc', BasicSecurityToken::getTokenStringFromRequest()); unset($_GET['st']); // test if runtime cache works $this->assertEquals('abc', BasicSecurityToken::getTokenStringFromRequest()); TestBasicSecurityToken::resetRawToken(); //should use post now $this->assertEquals('def', BasicSecurityToken::getTokenStringFromRequest()); TestBasicSecurityToken::resetRawToken(); unset($_POST['st']); // get token from OAuth header $this->assertEquals('ghi', BasicSecurityToken::getTokenStringFromRequest()); } } class TestBasicSecurityToken extends BasicSecurityToken { static public function resetRawToken() { parent::$rawToken = null; } }