|
36 | 36 | import com.google.api.gax.core.CredentialsProvider;
|
37 | 37 | import com.google.api.gax.core.ExecutorProvider;
|
38 | 38 | import com.google.api.gax.core.FixedCredentialsProvider;
|
| 39 | +import com.google.api.gax.core.FixedExecutorProvider; |
39 | 40 | import com.google.api.gax.rpc.testing.FakeChannel;
|
40 | 41 | import com.google.api.gax.rpc.testing.FakeClientSettings;
|
41 | 42 | import com.google.api.gax.rpc.testing.FakeTransportChannel;
|
@@ -526,4 +527,75 @@ public Credentials getCredentials() throws IOException {
|
526 | 527 | ClientContext clientContext = ClientContext.create(builder.build());
|
527 | 528 | assertThat(clientContext.getCredentials().getRequestMetadata(null)).isEqualTo(metaData);
|
528 | 529 | }
|
| 530 | + |
| 531 | + @Test |
| 532 | + public void testUserAgentInternalOnly() throws Exception { |
| 533 | + TransportChannelProvider transportChannelProvider = |
| 534 | + new FakeTransportProvider( |
| 535 | + FakeTransportChannel.create(new FakeChannel()), null, true, null, null); |
| 536 | + |
| 537 | + ClientSettings.Builder builder = |
| 538 | + new FakeClientSettings.Builder() |
| 539 | + .setExecutorProvider( |
| 540 | + FixedExecutorProvider.create(Mockito.mock(ScheduledExecutorService.class))) |
| 541 | + .setTransportChannelProvider(transportChannelProvider) |
| 542 | + .setCredentialsProvider( |
| 543 | + FixedCredentialsProvider.create(Mockito.mock(GoogleCredentials.class))); |
| 544 | + |
| 545 | + builder.setInternalHeaderProvider(FixedHeaderProvider.create("user-agent", "internal-agent")); |
| 546 | + |
| 547 | + ClientContext clientContext = ClientContext.create(builder.build()); |
| 548 | + FakeTransportChannel transportChannel = |
| 549 | + (FakeTransportChannel) clientContext.getTransportChannel(); |
| 550 | + |
| 551 | + assertThat(transportChannel.getHeaders()).containsEntry("user-agent", "internal-agent"); |
| 552 | + } |
| 553 | + |
| 554 | + @Test |
| 555 | + public void testUserAgentExternalOnly() throws Exception { |
| 556 | + TransportChannelProvider transportChannelProvider = |
| 557 | + new FakeTransportProvider( |
| 558 | + FakeTransportChannel.create(new FakeChannel()), null, true, null, null); |
| 559 | + |
| 560 | + ClientSettings.Builder builder = |
| 561 | + new FakeClientSettings.Builder() |
| 562 | + .setExecutorProvider( |
| 563 | + FixedExecutorProvider.create(Mockito.mock(ScheduledExecutorService.class))) |
| 564 | + .setTransportChannelProvider(transportChannelProvider) |
| 565 | + .setCredentialsProvider( |
| 566 | + FixedCredentialsProvider.create(Mockito.mock(GoogleCredentials.class))); |
| 567 | + |
| 568 | + builder.setHeaderProvider(FixedHeaderProvider.create("user-agent", "user-supplied-agent")); |
| 569 | + |
| 570 | + ClientContext clientContext = ClientContext.create(builder.build()); |
| 571 | + FakeTransportChannel transportChannel = |
| 572 | + (FakeTransportChannel) clientContext.getTransportChannel(); |
| 573 | + |
| 574 | + assertThat(transportChannel.getHeaders()).containsEntry("user-agent", "user-supplied-agent"); |
| 575 | + } |
| 576 | + |
| 577 | + @Test |
| 578 | + public void testUserAgentConcat() throws Exception { |
| 579 | + TransportChannelProvider transportChannelProvider = |
| 580 | + new FakeTransportProvider( |
| 581 | + FakeTransportChannel.create(new FakeChannel()), null, true, null, null); |
| 582 | + |
| 583 | + ClientSettings.Builder builder = |
| 584 | + new FakeClientSettings.Builder() |
| 585 | + .setExecutorProvider( |
| 586 | + FixedExecutorProvider.create(Mockito.mock(ScheduledExecutorService.class))) |
| 587 | + .setTransportChannelProvider(transportChannelProvider) |
| 588 | + .setCredentialsProvider( |
| 589 | + FixedCredentialsProvider.create(Mockito.mock(GoogleCredentials.class))); |
| 590 | + |
| 591 | + builder.setHeaderProvider(FixedHeaderProvider.create("user-agent", "user-supplied-agent")); |
| 592 | + builder.setInternalHeaderProvider(FixedHeaderProvider.create("user-agent", "internal-agent")); |
| 593 | + |
| 594 | + ClientContext clientContext = ClientContext.create(builder.build()); |
| 595 | + FakeTransportChannel transportChannel = |
| 596 | + (FakeTransportChannel) clientContext.getTransportChannel(); |
| 597 | + |
| 598 | + assertThat(transportChannel.getHeaders()) |
| 599 | + .containsEntry("user-agent", "user-supplied-agent internal-agent"); |
| 600 | + } |
529 | 601 | }
|
0 commit comments