Skip to content

Commit 228192e

Browse files
rahulKQLsduskis
authored andcommitted
[Bigtable] Added HeaderProvider onto ClientContext#create settings (#4491)
* Added HeaderProvider onto ClientContext#create settings Added HeaderProvider received from client to `BigtableStubSettings` for `ClientContext#create` creation. * fixed formatting
1 parent e195b5f commit 228192e

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ public static EnhancedBigtableStub create(EnhancedBigtableStubSettings settings)
9090
.setTransportChannelProvider(settings.getTransportChannelProvider())
9191
.setEndpoint(settings.getEndpoint())
9292
.setCredentialsProvider(settings.getCredentialsProvider())
93+
.setHeaderProvider(settings.getHeaderProvider())
9394
.setStreamWatchdogProvider(settings.getStreamWatchdogProvider())
9495
.setStreamWatchdogCheckInterval(settings.getStreamWatchdogCheckInterval());
9596

google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/ResourceHeaderTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import com.google.api.gax.core.NoCredentialsProvider;
2121
import com.google.api.gax.grpc.testing.InProcessServer;
2222
import com.google.api.gax.grpc.testing.LocalChannelProvider;
23+
import com.google.api.gax.rpc.FixedHeaderProvider;
24+
import com.google.api.gax.rpc.HeaderProvider;
2325
import com.google.bigtable.v2.BigtableGrpc;
2426
import com.google.cloud.bigtable.data.v2.BigtableDataClient;
2527
import com.google.cloud.bigtable.data.v2.BigtableDataSettings;
@@ -48,6 +50,9 @@ public class ResourceHeaderTest {
4850
private static final Pattern EXPECTED_HEADER_PATTERN =
4951
Pattern.compile(".*" + NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID) + ".*");
5052
private static final String HEADER_NAME = "x-goog-request-params";
53+
private static final String TEST_HEADER_NAME = "simple-header-name";
54+
private static final String TEST_HEADER_VALUE = "simple-header-value";
55+
private static final Pattern TEST_PATTERN = Pattern.compile(".*" + TEST_HEADER_VALUE + ".*");
5156

5257
private InProcessServer<?> server;
5358
private LocalChannelProvider channelProvider;
@@ -59,11 +64,13 @@ public void setUp() throws Exception {
5964
server.start();
6065
channelProvider = LocalChannelProvider.create(NAME);
6166

67+
HeaderProvider headerProvider = FixedHeaderProvider.create(TEST_HEADER_NAME, TEST_HEADER_VALUE);
6268
BigtableDataSettings.Builder settings =
6369
BigtableDataSettings.newBuilder()
6470
.setProjectId(PROJECT_ID)
6571
.setInstanceId(INSTANCE_ID)
6672
.setTransportChannelProvider(channelProvider)
73+
.setHeaderProvider(headerProvider)
6774
.setCredentialsProvider(NoCredentialsProvider.create());
6875

6976
// Force immediate flush
@@ -132,5 +139,7 @@ public void readModifyWriteTest() {
132139
private void verifyHeaderSent() {
133140
boolean headerSent = channelProvider.isHeaderSent(HEADER_NAME, EXPECTED_HEADER_PATTERN);
134141
assertWithMessage("Header was sent").that(headerSent).isTrue();
142+
boolean testHeader = channelProvider.isHeaderSent(TEST_HEADER_NAME, TEST_PATTERN);
143+
assertWithMessage("HeaderProvider's header received in Channel").that(testHeader).isTrue();
135144
}
136145
}

0 commit comments

Comments
 (0)