@Test public void hashCode_equals() throws IOException { GoogleCredentials sourceCredentials = getSourceCredentials(); MockIAMCredentialsServiceTransportFactory mtransportFactory = new MockIAMCredentialsServiceTransportFactory(); mtransportFactory.transport.setTargetPrincipal(IMPERSONATED_CLIENT_EMAIL); mtransportFactory.transport.setAccessToken(ACCESS_TOKEN); mtransportFactory.transport.setexpireTime(getDefaultExpireTime()); ImpersonatedCredentials credentials = ImpersonatedCredentials.create(sourceCredentials, IMPERSONATED_CLIENT_EMAIL, null, SCOPES, VALID_LIFETIME, mtransportFactory); ImpersonatedCredentials otherCredentials = ImpersonatedCredentials.create(sourceCredentials, IMPERSONATED_CLIENT_EMAIL, null, SCOPES, VALID_LIFETIME, mtransportFactory); assertEquals(credentials.hashCode(), otherCredentials.hashCode()); }
@Test public void serialize() throws IOException, ClassNotFoundException { GoogleCredentials sourceCredentials = getSourceCredentials(); MockIAMCredentialsServiceTransportFactory mtransportFactory = new MockIAMCredentialsServiceTransportFactory(); mtransportFactory.transport.setTargetPrincipal(IMPERSONATED_CLIENT_EMAIL); mtransportFactory.transport.setAccessToken(ACCESS_TOKEN); mtransportFactory.transport.setexpireTime(getDefaultExpireTime()); ImpersonatedCredentials targetCredentials = ImpersonatedCredentials.create(sourceCredentials, IMPERSONATED_CLIENT_EMAIL, null, SCOPES, VALID_LIFETIME, mtransportFactory); GoogleCredentials deserializedCredentials = serializeAndDeserialize(targetCredentials); assertEquals(targetCredentials, deserializedCredentials); assertEquals(targetCredentials.hashCode(), deserializedCredentials.hashCode()); assertEquals(targetCredentials.toString(), deserializedCredentials.toString()); assertSame(deserializedCredentials.clock, Clock.SYSTEM); }