private GrpcCallContext newCallContext(@Nullable Map<Option, ?> options, String resource) { GrpcCallContext context = GrpcCallContext.createDefault(); if (options != null) { context = context.withChannelAffinity(Option.CHANNEL_HINT.getLong(options).intValue()); } context = context.withExtraHeaders(metadataProvider.newExtraHeaders(resource, projectName)); return context.withStreamWaitTimeout(waitTimeout).withStreamIdleTimeout(idleTimeout); }
private GrpcCallContext newCallContext(@Nullable Map<Option, ?> options, String resource) { GrpcCallContext context = GrpcCallContext.createDefault(); if (options != null) { context = context.withChannelAffinity(Option.CHANNEL_HINT.getLong(options).intValue()); } context = context.withExtraHeaders(metadataProvider.newExtraHeaders(resource, projectName)); return context.withStreamWaitTimeout(waitTimeout).withStreamIdleTimeout(idleTimeout); }
GrpcCallContext.createDefault().withChannel(mockChannel).withExtraHeaders(extraHeaders); GrpcClientCalls.newCall(descriptor, context).start(mockListener, emptyHeaders);
@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); }