From 9b94c6ef54776fdb8868acf04e371599b7500d57 Mon Sep 17 00:00:00 2001 From: Mohan Li <67390330+mohanli-ml@users.noreply.github.com> Date: Wed, 6 Jan 2021 21:03:58 -0800 Subject: [PATCH] fix: Set up DirectPath e2e tests correctly (#780) * chore: add DirectPath fallback integration test * fix: Set up DirectPath e2e tests correctly --- .../google/cloud/spanner/GceTestEnvConfig.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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(); }