public function testGetAccessToken() { $response = $this->getMockBuilder('Widop\\HttpAdapter\\HttpResponse')->disableOriginalConstructor()->getMock(); $response->expects($this->once())->method('getBody')->will($this->returnValue('oauth_token=token_key&oauth_token_secret=token_secret')); $this->httpAdapter->expects($this->once())->method('postContent')->with($this->equalTo('https://api.twitter.com/oauth/access_token'), $this->callback(function ($headers) { try { \PHPUnit_Framework_Assert::assertArrayHasKey('Authorization', $headers); \PHPUnit_Framework_Assert::assertRegExp('#OAuth oauth_verifier="oauth_verifier", oauth_version="1.0", oauth_consumer_key="consumer_key", oauth_signature_method="signature-name", oauth_token="token_key", oauth_signature="signature", oauth_nonce="(.*)", oauth_timestamp="(.*)"#', $headers['Authorization']); return true; } catch (\Exception $e) { return false; } }))->will($this->returnValue($response)); $accessToken = $this->oauth->getAccessToken(new OAuthToken('token_key', 'token_secret'), 'oauth_verifier'); $this->assertInstanceOf('Widop\\Twitter\\OAuth\\Token\\OAuthToken', $accessToken); $this->assertSame('token_key', $accessToken->getKey()); $this->assertSame('token_secret', $accessToken->getSecret()); }