84
84
import com .google .cloud .bigtable .data .v2 .models .TableId ;
85
85
import com .google .cloud .bigtable .data .v2 .models .sql .ResultSetMetadata ;
86
86
import com .google .cloud .bigtable .data .v2 .models .sql .Statement ;
87
+ import com .google .cloud .bigtable .data .v2 .stub .metrics .NoopMetricsProvider ;
87
88
import com .google .cloud .bigtable .data .v2 .stub .sql .ExecuteQueryCallable ;
88
89
import com .google .cloud .bigtable .data .v2 .stub .sql .SqlServerStream ;
89
90
import com .google .common .collect .ImmutableMap ;
97
98
import io .grpc .CallOptions ;
98
99
import io .grpc .Context ;
99
100
import io .grpc .Deadline ;
100
- import io .grpc .ManagedChannel ;
101
101
import io .grpc .ManagedChannelBuilder ;
102
102
import io .grpc .Metadata ;
103
103
import io .grpc .Metadata .Key ;
@@ -172,6 +172,7 @@ public void setUp() throws IOException, IllegalAccessException, InstantiationExc
172
172
.setInstanceId (INSTANCE_ID )
173
173
.setAppProfileId (APP_PROFILE_ID )
174
174
.setCredentialsProvider (NoCredentialsProvider .create ())
175
+ .setMetricsProvider (NoopMetricsProvider .INSTANCE )
175
176
.build ()
176
177
.getStubSettings ();
177
178
@@ -187,9 +188,6 @@ public void tearDown() {
187
188
@ Test
188
189
public void testJwtAudience ()
189
190
throws InterruptedException , IOException , NoSuchAlgorithmException , ExecutionException {
190
- // close default stub - need to create custom one
191
- enhancedBigtableStub .close ();
192
-
193
191
// Create fake jwt creds
194
192
KeyPairGenerator keyGen = KeyPairGenerator .getInstance ("RSA" );
195
193
KeyPair keyPair = keyGen .genKeyPair ();
@@ -210,9 +208,10 @@ public void testJwtAudience()
210
208
.setJwtAudienceMapping (ImmutableMap .of ("localhost" , expectedAudience ))
211
209
.setCredentialsProvider (FixedCredentialsProvider .create (jwtCreds ))
212
210
.build ();
213
- enhancedBigtableStub = EnhancedBigtableStub .create (settings );
211
+ try (EnhancedBigtableStub stub = EnhancedBigtableStub .create (settings )) {
212
+ stub .readRowCallable ().futureCall (Query .create ("fake-table" )).get ();
213
+ }
214
214
// Send rpc and grab the credentials sent
215
- enhancedBigtableStub .readRowCallable ().futureCall (Query .create ("fake-table" )).get ();
216
215
Metadata metadata = metadataInterceptor .headers .take ();
217
216
218
217
String authValue = metadata .get (Key .of ("Authorization" , Metadata .ASCII_STRING_MARSHALLER ));
@@ -226,9 +225,6 @@ public void testJwtAudience()
226
225
@ Test
227
226
public void testBatchJwtAudience ()
228
227
throws InterruptedException , IOException , NoSuchAlgorithmException , ExecutionException {
229
- // close default stub - need to create custom one
230
- enhancedBigtableStub .close ();
231
-
232
228
// Create fake jwt creds
233
229
KeyPairGenerator keyGen = KeyPairGenerator .getInstance ("RSA" );
234
230
KeyPair keyPair = keyGen .genKeyPair ();
@@ -241,31 +237,30 @@ public void testBatchJwtAudience()
241
237
.setPrivateKeyId ("fake-private-key" )
242
238
.build ();
243
239
244
- // Create a fixed channel that will ignore the default endpoint and connect to the emulator
245
- ManagedChannel emulatorChannel =
246
- ManagedChannelBuilder .forAddress ("localhost" , server .getPort ()).usePlaintext ().build ();
240
+ EnhancedBigtableStubSettings settings =
241
+ EnhancedBigtableStubSettings .newBuilder ()
242
+ .setProjectId ("fake-project" )
243
+ .setInstanceId ("fake-instance" )
244
+ .setEndpoint ("batch-bigtable.googleapis.com:443" )
245
+ .setCredentialsProvider (FixedCredentialsProvider .create (jwtCreds ))
246
+ .setMetricsProvider (NoopMetricsProvider .INSTANCE )
247
+ // Use a fixed channel that will ignore the default endpoint and connect to the emulator
248
+ .setTransportChannelProvider (
249
+ FixedTransportChannelProvider .create (
250
+ GrpcTransportChannel .create (
251
+ ManagedChannelBuilder .forAddress ("localhost" , server .getPort ())
252
+ .usePlaintext ()
253
+ .build ())))
254
+ // Channel refreshing doesn't work with FixedTransportChannelProvider. Disable it for
255
+ // the test
256
+ .setRefreshingChannel (false )
257
+ .build ();
247
258
248
259
Metadata metadata ;
249
- try {
250
- EnhancedBigtableStubSettings settings =
251
- EnhancedBigtableStubSettings .newBuilder ()
252
- .setProjectId ("fake-project" )
253
- .setInstanceId ("fake-instance" )
254
- .setEndpoint ("batch-bigtable.googleapis.com:443" )
255
- .setCredentialsProvider (FixedCredentialsProvider .create (jwtCreds ))
256
- .setTransportChannelProvider (
257
- FixedTransportChannelProvider .create (
258
- GrpcTransportChannel .create (emulatorChannel )))
259
- // Channel refreshing doesn't work with FixedTransportChannelProvider. Disable it for
260
- // the test
261
- .setRefreshingChannel (false )
262
- .build ();
263
- enhancedBigtableStub = EnhancedBigtableStub .create (settings );
260
+ try (EnhancedBigtableStub stub = EnhancedBigtableStub .create (settings )) {
264
261
// Send rpc and grab the credentials sent
265
- enhancedBigtableStub .readRowCallable ().futureCall (Query .create ("fake-table" )).get ();
262
+ stub .readRowCallable ().futureCall (Query .create ("fake-table" )).get ();
266
263
metadata = metadataInterceptor .headers .take ();
267
- } finally {
268
- emulatorChannel .shutdown ();
269
264
}
270
265
271
266
String authValue = metadata .get (Key .of ("Authorization" , Metadata .ASCII_STRING_MARSHALLER ));
@@ -278,7 +273,6 @@ public void testBatchJwtAudience()
278
273
279
274
@ Test
280
275
public void testFeatureFlags () throws InterruptedException , IOException , ExecutionException {
281
-
282
276
enhancedBigtableStub .readRowCallable ().futureCall (Query .create ("fake-table" )).get ();
283
277
Metadata metadata = metadataInterceptor .headers .take ();
284
278
0 commit comments