@Test(dependsOnMethods={"createAuthToken"})
public void refreshAuthToken()
{
try {
TokenApi api = new TokenApi();
TokenResponse response = api.createAuthToken(Settings.API_USERNAME, Settings.API_PASSWORD, Settings.API_CLIENT_KEY, Settings.API_CLIENT_SECRET);
Assert.assertNotNull(response, "Null response from API");
AccessToken token = response.getResult();
Assert.assertNotNull(token, "Null token from API");
Assert.assertFalse(StringUtils.isEmpty(token.getAccessToken()), "Null access token string from API");
Assert.assertFalse(StringUtils.isEmpty(token.getRefreshToken()), "Null refresh token string from API");
Assert.assertTrue(token.getCreatedAt().isBeforeNow(), "Token creation time was not in the past.");
Assert.assertTrue(token.getExpiresAt().isAfterNow(), "Token creation time was not in the past.");
TokenResponse refreshResponse = api.refreshAuthToken(Settings.API_CLIENT_KEY, Settings.API_CLIENT_SECRET, token.getRefreshToken());
AccessToken refreshToken = refreshResponse.getResult();
Assert.assertNotNull(refreshToken, "Null refresh token from API");
Assert.assertFalse(StringUtils.isEmpty(refreshToken.getAccessToken()), "Null refresh access token string from API");
Assert.assertFalse(StringUtils.isEmpty(refreshToken.getRefreshToken()), "Null refresh refresh token string from API");
Assert.assertTrue(refreshToken.getCreatedAt().isBefore(new DateTime().minusSeconds(2)), "Refresh token creation time was not in the past.");
Assert.assertTrue(refreshToken.getExpiresAt().isAfterNow(), "Refresh token expiration time was not in the future.");