public function testOAuthAwareExceptionGetsInfo() { $expectedToken = array('access_token' => 'access_token', 'refresh_token' => 'refresh_token', 'expires_in' => '666', 'oauth_token_secret' => 'secret'); $oauthTokenMock = $this->getOAuthTokenMock(); $oauthTokenMock->expects($this->exactly(3))->method('getResourceOwnerName')->will($this->returnValue('github')); $oauthTokenMock->expects($this->exactly(2))->method('getRawToken')->will($this->returnValue($expectedToken)); $oauthTokenMock->expects($this->once())->method('getAccessToken')->will($this->returnValue($expectedToken['access_token'])); $oauthTokenMock->expects($this->once())->method('getRefreshToken')->will($this->returnValue($expectedToken['refresh_token'])); $oauthTokenMock->expects($this->once())->method('getExpiresIn')->will($this->returnValue($expectedToken['expires_in'])); $oauthTokenMock->expects($this->once())->method('getTokenSecret')->will($this->returnValue($expectedToken['oauth_token_secret'])); $resourceOwnerMock = $this->getResourceOwnerMock(); $resourceOwnerMock->expects($this->once())->method('getUserInformation')->with($expectedToken)->will($this->returnValue($this->getUserResponseMock())); $resourceOwnerMapMock = $this->getResourceOwnerMapMock(); $resourceOwnerMapMock->expects($this->once())->method('getResourceOwnerByName')->with($this->equalTo('github'))->will($this->returnValue($resourceOwnerMock)); $resourceOwnerMapMock->expects($this->once())->method('hasResourceOwnerByName')->with($this->equalTo('github'))->will($this->returnValue(true)); $userProviderMock = $this->getOAuthAwareUserProviderMock(); $userProviderMock->expects($this->once())->method('loadUserByOAuthUserResponse')->will($this->throwException(new OAuthAwareException())); $userCheckerMock = $this->getUserCheckerMock(); $oauthProvider = new OAuthProvider($userProviderMock, $resourceOwnerMapMock, $userCheckerMock); try { $oauthProvider->authenticate($oauthTokenMock); $this->assertTrue(false, "Exception was not thrown."); } catch (OAuthAwareException $e) { $this->assertTrue(true, "Exception was thrown."); $this->assertInstanceOf('HWI\\Bundle\\OAuthBundle\\Security\\Core\\Exception\\OAuthAwareExceptionInterface', $e); $this->assertEquals('github', $e->getResourceOwnerName()); $this->assertEquals($expectedToken['access_token'], $e->getAccessToken()); $this->assertEquals($expectedToken['refresh_token'], $e->getRefreshToken()); $this->assertEquals($expectedToken['expires_in'], $e->getExpiresIn()); $this->assertEquals($expectedToken['oauth_token_secret'], $e->getTokenSecret()); $this->assertEquals($expectedToken, $e->getRawToken()); } }
/** * @param OAuthAwareUserProviderInterface $userProvider User provider * @param ResourceOwnerMap $resourceOwnerMap Resource owner map * @param UserCheckerInterface $userChecker User checker */ public function __construct(OAuthAwareUserProviderInterface $userProvider, ResourceOwnerMap $resourceOwnerMap, UserCheckerInterface $userChecker) { parent::__construct($userProvider, $resourceOwnerMap, $userChecker); $this->userProvider = $userProvider; $this->resourceOwnerMap = $resourceOwnerMap; $this->userChecker = $userChecker; }
public function testOAuthAwareExceptionGetsInfo() { $oauthTokenMock = $this->getOAuthTokenMock(); $oauthTokenMock->expects($this->exactly(2))->method('getResourceOwnerName')->will($this->returnValue('github')); $oauthTokenMock->expects($this->exactly(2))->method('getCredentials')->will($this->returnValue('creds')); $resourceOwnerMock = $this->getResourceOwnerMock(); $resourceOwnerMock->expects($this->once())->method('getUserInformation')->with($this->equalTo('creds'))->will($this->returnValue($this->getUserResponseMock())); $resourceOwnerMapMock = $this->getResourceOwnerMapMock(); $resourceOwnerMapMock->expects($this->once())->method('getResourceOwnerByName')->with($this->equalTo('github'))->will($this->returnValue($resourceOwnerMock)); $userProviderMock = $this->getOAuthAwareUserProviderMock(); $userProviderMock->expects($this->once())->method('loadUserByOAuthUserResponse')->will($this->throwException(new OAuthAwareException())); $oauthProvider = new OAuthProvider($userProviderMock, $resourceOwnerMapMock); try { $token = $oauthProvider->authenticate($oauthTokenMock); $this->assertTrue(false, "Exception was not thrown."); } catch (OAuthAwareException $e) { $this->assertTrue(true, "Exception was thrown."); $this->assertInstanceOf('HWI\\Bundle\\OAuthBundle\\Security\\Core\\Exception\\OAuthAwareExceptionInterface', $e); $this->assertEquals('github', $e->getResourceOwnerName()); $this->assertEquals('creds', $e->getAccessToken()); } }