@Test
  @Category(IntegrationTest.class)
  public void successfullySavesAndRestoresConnection() {
    final String originalAccessToken = TestConfig.getAccessToken();
    final String originalRefreshToken = TestConfig.getRefreshToken();
    BoxAPIConnection api =
        new BoxAPIConnection(
            TestConfig.getClientID(),
            TestConfig.getClientSecret(),
            originalAccessToken,
            originalRefreshToken);
    String state = api.save();

    BoxAPIConnection restoredAPI =
        BoxAPIConnection.restore(TestConfig.getClientID(), TestConfig.getClientSecret(), state);
    BoxFolder.Info rootFolderInfo = BoxFolder.getRootFolder(restoredAPI).getInfo();

    TestConfig.setAccessToken(restoredAPI.getAccessToken());
    TestConfig.setRefreshToken(restoredAPI.getRefreshToken());
  }
  @Test
  @Category(IntegrationTest.class)
  public void doesNotRefreshWhenGetAccessTokenIsCalledAndTokenHasNotExpired() {
    final String originalAccessToken = TestConfig.getAccessToken();
    final String originalRefreshToken = TestConfig.getRefreshToken();
    BoxAPIConnection api =
        new BoxAPIConnection(
            TestConfig.getClientID(),
            TestConfig.getClientSecret(),
            originalAccessToken,
            originalRefreshToken);
    api.setExpires(Long.MAX_VALUE);

    String actualAccessToken = api.getAccessToken();
    String actualRefreshToken = api.getRefreshToken();

    assertThat(originalRefreshToken, equalTo(actualRefreshToken));
    assertThat(originalAccessToken, equalTo(actualAccessToken));

    TestConfig.setAccessToken(actualAccessToken);
    TestConfig.setRefreshToken(actualRefreshToken);
  }
  @Test
  @Category(IntegrationTest.class)
  public void refreshSucceeds() {
    final String originalAccessToken = TestConfig.getAccessToken();
    final String originalRefreshToken = TestConfig.getRefreshToken();
    BoxAPIConnection api =
        new BoxAPIConnection(
            TestConfig.getClientID(),
            TestConfig.getClientSecret(),
            originalAccessToken,
            originalRefreshToken);

    api.refresh();

    String actualAccessToken = api.getAccessToken();
    String actualRefreshToken = api.getRefreshToken();

    assertThat(originalRefreshToken, not(equalTo(actualRefreshToken)));
    assertThat(originalAccessToken, not(equalTo(actualAccessToken)));

    TestConfig.setAccessToken(actualAccessToken);
    TestConfig.setRefreshToken(actualRefreshToken);
  }