/** * @inheritdoc */ public function refreshToken() { if (!$this->client->getToken()) { throw new \Exception('Token is not set'); } $response = $this->httpClient->post(AuthorizationModel::ENDPOINT_BASE . AuthorizationModel::ENDPOINT_TOKEN, ['refresh_token' => $this->client->getToken()->getRefreshToken(), 'client_id' => $this->client->getClientId(), 'client_secret' => $this->client->getClientSecret(), 'grant_type' => AuthorizationModel::GRANT_REFRESH]); return $this->tokenMapper->buildToken($response->getBody()); }
public function testMapToCustomClass() { $tokenClass = 'Mechpave\\ImgurClient\\Tests\\Entity\\CustomToken'; $objectMapper = $this->getMockBuilder('Mechpave\\ImgurClient\\Mapper\\ObjectMapper')->disableOriginalConstructor()->getMock(); $objectMapper->expects($this->once())->method('getTokenClass')->willReturn($tokenClass); /** @noinspection PhpParamsInspection */ $tokenMapper = new TokenMapper($objectMapper); $token = $tokenMapper->buildToken($this->tokenData); $time = time(); $this->assertTrue($token instanceof $tokenClass); $this->assertEquals($token->getAccessToken(), $this->tokenData['access_token']); $this->assertEquals($token->getRefreshToken(), $this->tokenData['refresh_token']); $this->assertEquals($token->getExpiresAt(), $this->tokenData['expires_in'] + $time); $this->assertEquals($token->getAccountId(), $this->tokenData['account_id']); }