if (!grpcContext.getExtraHeaders().isEmpty()) { ClientInterceptor interceptor = MetadataUtils.newAttachHeadersInterceptor(grpcContext.getMetadata());
if (!grpcContext.getExtraHeaders().isEmpty()) { ClientInterceptor interceptor = MetadataUtils.newAttachHeadersInterceptor(grpcContext.getMetadata());
@Test public void testWithExtraHeaders() { Map<String, List<String>> extraHeaders = createTestExtraHeaders("key1", "value1", "key1", "value2"); GrpcCallContext ctx = GrpcCallContext.createDefault().withExtraHeaders(extraHeaders); Map<String, List<String>> moreExtraHeaders = createTestExtraHeaders("key1", "value2", "key2", "value2"); ctx = ctx.withExtraHeaders(moreExtraHeaders); Map<String, List<String>> gotExtraHeaders = ctx.getExtraHeaders(); Map<String, List<String>> expectedExtraHeaders = createTestExtraHeaders( "key1", "value1", "key1", "value2", "key1", "value2", "key2", "value2"); Truth.assertThat(gotExtraHeaders).containsExactlyEntriesIn(expectedExtraHeaders); }
@Test public void testMergeWithExtraHeaders() { Map<String, List<String>> extraHeaders1 = createTestExtraHeaders("key1", "value1", "key1", "value2"); GrpcCallContext ctx1 = GrpcCallContext.createDefault().withExtraHeaders(extraHeaders1); Map<String, List<String>> extraHeaders2 = createTestExtraHeaders("key1", "value2", "key2", "value2"); GrpcCallContext ctx2 = GrpcCallContext.createDefault().withExtraHeaders(extraHeaders2); ApiCallContext mergedApiCallContext = ctx1.merge(ctx2); Truth.assertThat(mergedApiCallContext).isInstanceOf(GrpcCallContext.class); GrpcCallContext mergedGrpcCallContext = (GrpcCallContext) mergedApiCallContext; Map<String, List<String>> gotExtraHeaders = mergedGrpcCallContext.getExtraHeaders(); Map<String, List<String>> expectedExtraHeaders = createTestExtraHeaders( "key1", "value1", "key1", "value2", "key1", "value2", "key2", "value2"); Truth.assertThat(gotExtraHeaders).containsExactlyEntriesIn(expectedExtraHeaders); }