MCPcopy Index your code
hub / github.com/grpc/grpc-java / ContextsTest

Class ContextsTest

api/src/test/java/io/grpc/ContextsTest.java:45–282  ·  view source on GitHub ↗

Tests for Contexts.

Source from the content-addressed store, hash-verified

43 * Tests for {@link Contexts}.
44 */
45@RunWith(JUnit4.class)
46public class ContextsTest {
47 private static Context.Key<Object> contextKey = Context.key("key");
48 /** For use in comparing context by reference. */
49 private Context uniqueContext = Context.ROOT.withValue(contextKey, new Object());
50 @SuppressWarnings("unchecked")
51 private ServerCall<Object, Object> call = new NoopServerCall<>();
52 private Metadata headers = new Metadata();
53
54 @Test
55 public void interceptCall_basic() {
56 Context origContext = Context.current();
57 final Object message = new Object();
58 final List<Integer> methodCalls = new ArrayList<>();
59 final ServerCall.Listener<Object> listener = new ServerCall.Listener<Object>() {
60 @Override public void onMessage(Object messageIn) {
61 assertSame(message, messageIn);
62 assertSame(uniqueContext, Context.current());
63 methodCalls.add(1);
64 }
65
66 @Override public void onHalfClose() {
67 assertSame(uniqueContext, Context.current());
68 methodCalls.add(2);
69 }
70
71 @Override public void onCancel() {
72 assertSame(uniqueContext, Context.current());
73 methodCalls.add(3);
74 }
75
76 @Override public void onComplete() {
77 assertSame(uniqueContext, Context.current());
78 methodCalls.add(4);
79 }
80
81 @Override public void onReady() {
82 assertSame(uniqueContext, Context.current());
83 methodCalls.add(5);
84 }
85 };
86 ServerCall.Listener<Object> wrapped = interceptCall(uniqueContext, call, headers,
87 new ServerCallHandler<Object, Object>() {
88 @Override
89 public ServerCall.Listener<Object> startCall(
90 ServerCall<Object, Object> call, Metadata headers) {
91 assertSame(ContextsTest.this.call, call);
92 assertSame(ContextsTest.this.headers, headers);
93 assertSame(uniqueContext, Context.current());
94 return listener;
95 }
96 });
97 assertSame(origContext, Context.current());
98
99 wrapped.onMessage(message);
100 wrapped.onHalfClose();
101 wrapped.onCancel();
102 wrapped.onComplete();

Callers

nothing calls this directly

Calls 2

keyMethod · 0.95
withValueMethod · 0.80

Tested by

no test coverage detected