@Test
public void toString_containsFields() throws IOException {
AccessToken accessToken = new AccessToken(ACCESS_TOKEN, null);
final URI tokenServer = URI.create("https://foo.com/bar");
MockTokenServerTransportFactory transportFactory = new MockTokenServerTransportFactory();
UserCredentials credentials = UserCredentials.newBuilder()
.setClientId(CLIENT_ID)
.setClientSecret(CLIENT_SECRET)
.setRefreshToken(REFRESH_TOKEN)
.setAccessToken(accessToken)
.setHttpTransportFactory(transportFactory)
.setTokenServerUri(tokenServer)
.build();
String expectedToString = String.format(
"UserCredentials{requestMetadata=%s, temporaryAccess=%s, clientId=%s, refreshToken=%s, "
+ "tokenServerUri=%s, transportFactoryClassName=%s}",
ImmutableMap.of(AuthHttpConstants.AUTHORIZATION,
ImmutableList.of(OAuth2Utils.BEARER_PREFIX + accessToken.getTokenValue())),
accessToken.toString(),
CLIENT_ID,
REFRESH_TOKEN,
tokenServer,
MockTokenServerTransportFactory.class.getName());
assertEquals(expectedToString, credentials.toString());
}