public function testWithRefreshToken()
{
$client = new Client();
$mock = new MockPlugin();
$mock->addResponse(new Response(200, null, $this->tokenResponse[0]));
$client->addSubscriber($mock);
$history = new HistoryPlugin();
$history->setLimit(5);
$client->addSubscriber($history);
$guzzle3Client = new Guzzle3Client($client);
$tokenRequest = new TokenRequest($guzzle3Client, $this->clientConfig[0]);
$tokenRequest->withRefreshToken('refresh_123_456');
$lastRequest = $history->getLastRequest();
$this->assertEquals('POST', $lastRequest->getMethod());
$this->assertEquals('Basic Zm9vOmJhcg==', $lastRequest->getHeader('Authorization'));
$this->assertEquals('refresh_token=refresh_123_456&grant_type=refresh_token', $lastRequest->getPostFields()->__toString());
$this->assertEquals('application/x-www-form-urlencoded; charset=utf-8', $lastRequest->getHeader('Content-Type'));
}