### Question:
HerokuApiWrapperImpl implements HerokuApiWrapper { @Override public HerokuOAuthTokenResponse refreshAccessToken(String refreshToken) { logger.debug("Refreshing an access token"); MultiValueMap<String, String> form = createGetOAuthTokenForm("refresh_token", "refresh_token", refreshToken); return getHerokuOAuthTokenResponse(form); }  @Override HerokuOAuthTokenResponse exchangeGrantCode(HerokuProvisionRequest.OAuthGrant grant); @Override HerokuOAuthTokenResponse refreshAccessToken(String refreshToken); @Override HerokuAppDetails getAppDetails(String externalId, String accessToken);  }### Answer:
@Test public void should_refresh_token() throws IOException { String response = readResource("/heroku/sample-exchange-grant-code-response.json"); givenThat(post("/oauth/token").willReturn(okJson(response))); HerokuOAuthTokenResponse tokenResponse = herokuApiWrapper.refreshAccessToken("refreshToken"); assertThat(tokenResponse.getAccess_token(), is("2af695e0-93e3-4821-ac2e-95f68435f128")); }