diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GceTestEnvConfig.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GceTestEnvConfig.java index c78dfa8f46..ab8e3933f9 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GceTestEnvConfig.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GceTestEnvConfig.java @@ -70,12 +70,6 @@ public GceTestEnvConfig() { SpannerOptions.newBuilder() .setAutoThrottleAdministrativeRequests() .setTrackTransactionStarter(); - InstantiatingGrpcChannelProvider.Builder defaultChannelProviderBuilder = - InstantiatingGrpcChannelProvider.newBuilder(); - if (attemptDirectPath) { - builder.setChannelProvider( - defaultChannelProviderBuilder.setEndpoint(DIRECT_PATH_ENDPOINT).build()); - } if (!projectId.isEmpty()) { builder.setProjectId(projectId); } @@ -96,6 +90,16 @@ public GceTestEnvConfig() { interceptorProvider.with(new DirectPathAddressCheckInterceptor(directPathTestScenario)); } builder.setInterceptorProvider(interceptorProvider); + // DirectPath tests need to set a custom endpoint to the ChannelProvider + InstantiatingGrpcChannelProvider.Builder customChannelProviderBuilder = + InstantiatingGrpcChannelProvider.newBuilder(); + if (attemptDirectPath) { + customChannelProviderBuilder + .setEndpoint(DIRECT_PATH_ENDPOINT) + .setAttemptDirectPath(true) + .setInterceptorProvider(interceptorProvider); + builder.setChannelProvider(customChannelProviderBuilder.build()); + } options = builder.build(); }