Skip to content

Commit 34cb127

Browse files
authored
test: add test to verify client-lib header is included (googleapis#1689)
1 parent 6a57b49 commit 34cb127

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

src/test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,26 @@
1818

1919
import static com.google.common.truth.Truth.assertThat;
2020
import static org.junit.Assert.assertEquals;
21+
import static org.junit.Assert.assertNotNull;
22+
import static org.junit.Assert.assertTrue;
2123
import static org.junit.Assert.fail;
2224

25+
import com.google.cloud.ServiceOptions;
2326
import com.google.cloud.spanner.MockSpannerServiceImpl;
2427
import com.google.cloud.spanner.connection.ConnectionOptions;
2528
import com.google.cloud.spanner.connection.ConnectionOptions.ConnectionProperty;
2629
import com.google.cloud.spanner.connection.SpannerPool;
2730
import com.google.common.collect.Collections2;
2831
import com.google.common.collect.ImmutableList;
2932
import com.google.rpc.Code;
33+
import io.grpc.Context;
34+
import io.grpc.Contexts;
35+
import io.grpc.Metadata;
3036
import io.grpc.Server;
37+
import io.grpc.ServerCall;
38+
import io.grpc.ServerCall.Listener;
39+
import io.grpc.ServerCallHandler;
40+
import io.grpc.ServerInterceptor;
3141
import io.grpc.netty.shaded.io.grpc.netty.NettyServerBuilder;
3242
import java.io.IOException;
3343
import java.net.InetSocketAddress;
@@ -64,7 +74,27 @@ public class JdbcDriverTest {
6474
public static void startStaticServer() throws IOException {
6575
MockSpannerServiceImpl mockSpanner = new MockSpannerServiceImpl();
6676
InetSocketAddress address = new InetSocketAddress("localhost", 0);
67-
server = NettyServerBuilder.forAddress(address).addService(mockSpanner).build().start();
77+
server =
78+
NettyServerBuilder.forAddress(address)
79+
.addService(mockSpanner)
80+
.intercept(
81+
new ServerInterceptor() {
82+
@Override
83+
public <ReqT, RespT> Listener<ReqT> interceptCall(
84+
ServerCall<ReqT, RespT> call,
85+
Metadata headers,
86+
ServerCallHandler<ReqT, RespT> next) {
87+
String clientLibToken =
88+
headers.get(
89+
Metadata.Key.of("x-goog-api-client", Metadata.ASCII_STRING_MARSHALLER));
90+
assertNotNull(clientLibToken);
91+
assertTrue(
92+
clientLibToken.contains(ServiceOptions.getGoogApiClientLibName() + "/"));
93+
return Contexts.interceptCall(Context.current(), call, headers, next);
94+
}
95+
})
96+
.build()
97+
.start();
6898
}
6999

70100
@AfterClass

0 commit comments

Comments
 (0)