diff --git a/google-auth-library-java/credentials/java/com/google/auth/Credentials.java b/google-auth-library-java/credentials/java/com/google/auth/Credentials.java index b1579db612a9..a87ee9a8f6a3 100644 --- a/google-auth-library-java/credentials/java/com/google/auth/Credentials.java +++ b/google-auth-library-java/credentials/java/com/google/auth/Credentials.java @@ -194,4 +194,9 @@ protected final void blockingGetToCallback(URI uri, RequestMetadataCallback call * @throws IOException if there was an error getting up-to-date access. */ public abstract void refresh() throws IOException; + + /** Dummy method to test CI recognition of auth changes. */ + public String getTestString() { + return "test"; + } } diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java index 816d0a8547df..b15fa43e78d0 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java @@ -18,6 +18,7 @@ import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.core.FixedCredentialsProvider; +import com.google.api.gax.core.GaxProperties; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.api.gax.retrying.RetrySettings; import com.google.api.gax.rpc.FixedHeaderProvider; @@ -934,6 +935,8 @@ private BigQuery getBigQueryConnection() { bigQueryOptions.setProjectId(this.catalog); } if (this.credentials != null) { + this.credentials.getTestString(); + GaxProperties.getTestString(); bigQueryOptions.setCredentials(this.credentials); } if (this.location != null) { diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/StreamWriter.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/StreamWriter.java index 2da1b0f61791..99746930f1b0 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/StreamWriter.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/StreamWriter.java @@ -167,6 +167,10 @@ abstract static class ConnectionPoolKey { abstract int credentialsHashcode(); public static ConnectionPoolKey create(String location, @Nullable Credentials credentials) { + if (credentials != null) { + credentials.getTestString(); + } + GaxProperties.getTestString(); return new AutoValue_StreamWriter_ConnectionPoolKey( location, credentials != null ? credentials.hashCode() : 0); } diff --git a/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/telemetry/EnabledTraceUtil.java b/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/telemetry/EnabledTraceUtil.java index 3dc8395d170b..6ddea9e8e8d4 100644 --- a/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/telemetry/EnabledTraceUtil.java +++ b/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/telemetry/EnabledTraceUtil.java @@ -21,6 +21,7 @@ import com.google.api.core.ApiFutureCallback; import com.google.api.core.ApiFutures; import com.google.api.core.InternalApi; +import com.google.api.gax.core.GaxProperties; import com.google.cloud.datastore.DatastoreOptions; import com.google.cloud.datastore.telemetry.TraceUtil.Context; import com.google.cloud.datastore.telemetry.TraceUtil.Scope; @@ -265,6 +266,8 @@ public SpanBuilder addSettingsAttributesToCurrentSpan(SpanBuilder spanBuilder) { .build()); if (datastoreOptions.getCredentials() != null) { + datastoreOptions.getCredentials().getTestString(); + GaxProperties.getTestString(); spanBuilder = spanBuilder.setAttribute( ATTRIBUTE_SERVICE_PREFIX + "settings.credentials.authenticationType", diff --git a/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/LoggingOptions.java b/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/LoggingOptions.java index 04b386fc29ae..e43382d679b7 100644 --- a/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/LoggingOptions.java +++ b/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/LoggingOptions.java @@ -63,6 +63,9 @@ public static class DefaultLoggingRpcFactory implements LoggingRpcFactory { @Override public ServiceRpc create(LoggingOptions options) { try { + if (options.getCredentials() != null) { + options.getCredentials().getTestString(); + } return new GrpcLoggingRpc(options); } catch (IOException e) { throw new LoggingException(e, true); diff --git a/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/GrpcLoggingRpc.java b/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/GrpcLoggingRpc.java index b3c0413ecd0f..b916ef1c9717 100644 --- a/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/GrpcLoggingRpc.java +++ b/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/GrpcLoggingRpc.java @@ -100,6 +100,7 @@ public class GrpcLoggingRpc implements LoggingRpc { private boolean closed; public GrpcLoggingRpc(final LoggingOptions options) throws IOException { + GaxProperties.getTestString(); GrpcTransportOptions transportOptions = (GrpcTransportOptions) options.getTransportOptions(); executorFactory = transportOptions.getExecutorFactory(); executor = executorFactory.get(); diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java index b4725f2e8429..cbf361474900 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java @@ -687,6 +687,8 @@ private void setupGcpFallback( try { Credentials credentials = credentialsProvider.getCredentials(); if (credentials != null) { + credentials.getTestString(); + GaxProperties.getTestString(); cloudPathBuilder.intercept( new ClientInterceptor() { @Override diff --git a/java-storage/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcStorageOptions.java b/java-storage/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcStorageOptions.java index 1a6726b9c01b..662ff52b2b01 100644 --- a/java-storage/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcStorageOptions.java +++ b/java-storage/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcStorageOptions.java @@ -26,6 +26,7 @@ import com.google.api.core.InternalApi; import com.google.api.core.ObsoleteApi; import com.google.api.gax.core.CredentialsProvider; +import com.google.api.gax.core.GaxProperties; import com.google.api.gax.core.FixedCredentialsProvider; import com.google.api.gax.core.NoCredentialsProvider; import com.google.api.gax.grpc.GrpcCallSettings; @@ -247,6 +248,8 @@ private Tuple> resolveSettingsAndOpts() throw Opts defaultOpts = Opts.empty(); CredentialsProvider credentialsProvider; Preconditions.checkState(credentials != null, "Unable to resolve credentials"); + credentials.getTestString(); + GaxProperties.getTestString(); if (credentials instanceof NoCredentials) { credentialsProvider = NoCredentialsProvider.create(); } else { diff --git a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java index 7ff7c54de6f0..46403b7a69b2 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java @@ -729,6 +729,9 @@ public T getOption(Key key) { @InternalApi public void validateUniverseDomain() { try { + if (credentials != null) { + credentials.getTestString(); + } endpointContext.validateUniverseDomain(credentials, UNAUTHENTICATED_STATUS_CODE); } catch (IOException e) { // Check if it is an Auth Exception (All instances of IOException from endpointContext's diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/core/GaxProperties.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/core/GaxProperties.java index b76cb6af8643..d78cb3bb34fb 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/core/GaxProperties.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/core/GaxProperties.java @@ -104,6 +104,11 @@ public static String getProtobufVersion() { return PROTOBUF_VERSION; } + /** Returns a dummy test string. */ + public static String getTestString() { + return "test"; + } + /** * Returns the current runtime version. For GraalVM the values in this method will be fetched at * build time and the values should not differ from the runtime (executable)