Add tests and update behavior to verify propagators do not alter the … (#3194)
* Add tests and update behavior to verify propagators do not alter the context when failing to parse inputs. * Ad a couple tests around null contexts * formatting
This commit is contained in:
parent
2a002f20fa
commit
a8a85c6129
|
|
@ -78,14 +78,14 @@ public final class W3CBaggagePropagator implements TextMapPropagator {
|
|||
return context;
|
||||
}
|
||||
if (baggageHeader.isEmpty()) {
|
||||
return context.with(Baggage.empty());
|
||||
return context;
|
||||
}
|
||||
|
||||
BaggageBuilder baggageBuilder = Baggage.builder();
|
||||
try {
|
||||
extractEntries(baggageHeader, baggageBuilder);
|
||||
} catch (RuntimeException e) {
|
||||
return context.with(Baggage.empty());
|
||||
return context;
|
||||
}
|
||||
return context.with(baggageBuilder.build());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,23 +136,20 @@ class W3CBaggagePropagatorTest {
|
|||
assertThat(Baggage.fromContext(result)).isEqualTo(expectedBaggage);
|
||||
}
|
||||
|
||||
/**
|
||||
* It would be cool if we could replace this with a fuzzer to generate tons of crud data, to make
|
||||
* sure we don't blow up with it.
|
||||
*/
|
||||
@Test
|
||||
void extract_invalidHeader() {
|
||||
W3CBaggagePropagator propagator = W3CBaggagePropagator.getInstance();
|
||||
|
||||
Context input = Context.current();
|
||||
Context result =
|
||||
propagator.extract(
|
||||
Context.root(),
|
||||
input,
|
||||
ImmutableMap.of(
|
||||
"baggage",
|
||||
"key1= v;alsdf;-asdflkjasdf===asdlfkjadsf ,,a sdf9asdf-alue1; metadata-key = "
|
||||
+ "value; othermetadata, key2 =value2 , key3 =\tvalue3 ; "),
|
||||
getter);
|
||||
|
||||
assertThat(result).isSameAs(input);
|
||||
assertThat(Baggage.fromContext(result)).isEqualTo(Baggage.empty());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -298,42 +298,42 @@ class W3CTraceContextPropagatorTest {
|
|||
void extract_EmptyHeader() {
|
||||
Map<String, String> invalidHeaders = new LinkedHashMap<>();
|
||||
invalidHeaders.put(W3CTraceContextPropagator.TRACE_PARENT, "");
|
||||
assertThat(
|
||||
getSpanContext(
|
||||
w3cTraceContextPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
void extract_invalidDelimiters() {
|
||||
Map<String, String> carrier = new LinkedHashMap<>();
|
||||
Context input = Context.current();
|
||||
Context result;
|
||||
|
||||
carrier.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"01+" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "-00-02");
|
||||
assertThat(
|
||||
getSpanContext(w3cTraceContextPropagator.extract(Context.current(), carrier, getter)))
|
||||
.isEqualTo(SpanContext.getInvalid());
|
||||
result = w3cTraceContextPropagator.extract(input, carrier, getter);
|
||||
assertThat(result).isSameAs(input);
|
||||
assertThat(getSpanContext(result)).isEqualTo(SpanContext.getInvalid());
|
||||
|
||||
carrier.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"01-" + TRACE_ID_BASE16 + "+" + SPAN_ID_BASE16 + "-00-02");
|
||||
assertThat(
|
||||
getSpanContext(w3cTraceContextPropagator.extract(Context.current(), carrier, getter)))
|
||||
.isEqualTo(SpanContext.getInvalid());
|
||||
result = w3cTraceContextPropagator.extract(input, carrier, getter);
|
||||
assertThat(result).isSameAs(input);
|
||||
assertThat(getSpanContext(result)).isEqualTo(SpanContext.getInvalid());
|
||||
|
||||
carrier.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"01-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "+00-02");
|
||||
assertThat(
|
||||
getSpanContext(w3cTraceContextPropagator.extract(Context.current(), carrier, getter)))
|
||||
.isEqualTo(SpanContext.getInvalid());
|
||||
result = w3cTraceContextPropagator.extract(input, carrier, getter);
|
||||
assertThat(result).isSameAs(input);
|
||||
assertThat(getSpanContext(result)).isEqualTo(SpanContext.getInvalid());
|
||||
|
||||
carrier.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"01-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "-00+02");
|
||||
assertThat(
|
||||
getSpanContext(w3cTraceContextPropagator.extract(Context.current(), carrier, getter)))
|
||||
.isEqualTo(SpanContext.getInvalid());
|
||||
result = w3cTraceContextPropagator.extract(input, carrier, getter);
|
||||
assertThat(result).isSameAs(input);
|
||||
assertThat(getSpanContext(result)).isEqualTo(SpanContext.getInvalid());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -342,10 +342,7 @@ class W3CTraceContextPropagatorTest {
|
|||
invalidHeaders.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"00-" + "abcdefghijklmnopabcdefghijklmnop" + "-" + SPAN_ID_BASE16 + "-01");
|
||||
assertThat(
|
||||
getSpanContext(
|
||||
w3cTraceContextPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -354,10 +351,7 @@ class W3CTraceContextPropagatorTest {
|
|||
invalidHeaders.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"00-" + TRACE_ID_BASE16 + "00-" + SPAN_ID_BASE16 + "-01");
|
||||
assertThat(
|
||||
getSpanContext(
|
||||
w3cTraceContextPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -366,10 +360,7 @@ class W3CTraceContextPropagatorTest {
|
|||
invalidHeaders.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"00-" + TRACE_ID_BASE16 + "-" + "abcdefghijklmnop" + "-01");
|
||||
assertThat(
|
||||
getSpanContext(
|
||||
w3cTraceContextPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -378,10 +369,7 @@ class W3CTraceContextPropagatorTest {
|
|||
invalidHeaders.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"00-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "00-01");
|
||||
assertThat(
|
||||
getSpanContext(
|
||||
w3cTraceContextPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -390,10 +378,7 @@ class W3CTraceContextPropagatorTest {
|
|||
invalidHeaders.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"00-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "-gh");
|
||||
assertThat(
|
||||
getSpanContext(
|
||||
w3cTraceContextPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -402,10 +387,14 @@ class W3CTraceContextPropagatorTest {
|
|||
invalidHeaders.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"00-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "-0100");
|
||||
assertThat(
|
||||
getSpanContext(
|
||||
w3cTraceContextPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
private void verifyInvalidBehavior(Map<String, String> invalidHeaders) {
|
||||
Context input = Context.current();
|
||||
Context result = w3cTraceContextPropagator.extract(input, invalidHeaders, getter);
|
||||
assertThat(result).isSameAs(input);
|
||||
assertThat(getSpanContext(result)).isSameAs(SpanContext.getInvalid());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -474,10 +463,7 @@ class W3CTraceContextPropagatorTest {
|
|||
invalidHeaders.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"ff-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "-01");
|
||||
assertThat(
|
||||
getSpanContext(
|
||||
w3cTraceContextPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -486,10 +472,7 @@ class W3CTraceContextPropagatorTest {
|
|||
invalidHeaders.put(
|
||||
W3CTraceContextPropagator.TRACE_PARENT,
|
||||
"00-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "-00-01");
|
||||
assertThat(
|
||||
getSpanContext(
|
||||
w3cTraceContextPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -93,6 +93,19 @@ class MultiTextMapPropagatorTest {
|
|||
verify(propagator3).inject(context, carrier, setter);
|
||||
}
|
||||
|
||||
@Test
|
||||
void inject_nullContextAllDelegated() {
|
||||
Map<String, String> carrier = new HashMap<>();
|
||||
Context context = null;
|
||||
TextMapSetter<Map<String, String>> setter = Map::put;
|
||||
|
||||
TextMapPropagator prop = new MultiTextMapPropagator(propagator1, propagator2, propagator3);
|
||||
prop.inject(context, carrier, setter);
|
||||
verify(propagator1).inject(context, carrier, setter);
|
||||
verify(propagator2).inject(context, carrier, setter);
|
||||
verify(propagator3).inject(context, carrier, setter);
|
||||
}
|
||||
|
||||
@Test
|
||||
void extract_noPropagators() {
|
||||
Map<String, String> carrier = new HashMap<>();
|
||||
|
|
@ -121,7 +134,6 @@ class MultiTextMapPropagatorTest {
|
|||
|
||||
@Test
|
||||
void extract_notFound() {
|
||||
|
||||
Map<String, String> carrier = new HashMap<>();
|
||||
Context context = mock(Context.class);
|
||||
when(propagator1.extract(context, carrier, getter)).thenReturn(context);
|
||||
|
|
@ -132,4 +144,17 @@ class MultiTextMapPropagatorTest {
|
|||
|
||||
assertThat(result).isSameAs(context);
|
||||
}
|
||||
|
||||
@Test
|
||||
void extract_nullContext() {
|
||||
Map<String, String> carrier = new HashMap<>();
|
||||
Context context = null;
|
||||
when(propagator1.extract(context, carrier, getter)).thenReturn(context);
|
||||
when(propagator2.extract(context, carrier, getter)).thenReturn(context);
|
||||
|
||||
TextMapPropagator prop = new MultiTextMapPropagator(propagator1, propagator2);
|
||||
Context result = prop.extract(context, carrier, getter);
|
||||
|
||||
assertThat(result).isSameAs(context);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,9 @@ package io.opentelemetry.context.propagation;
|
|||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import io.opentelemetry.context.Context;
|
||||
import java.util.HashMap;
|
||||
import javax.annotation.Nullable;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class NoopTextMapPropagatorTest {
|
||||
|
|
@ -15,4 +18,34 @@ class NoopTextMapPropagatorTest {
|
|||
void noopFields() {
|
||||
assertThat(TextMapPropagator.noop().fields()).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
void extract_contextUnchanged() {
|
||||
Context input = Context.current();
|
||||
Context result =
|
||||
TextMapPropagator.noop().extract(input, new HashMap<>(), new HashMapTextMapGetter());
|
||||
assertThat(result).isSameAs(input);
|
||||
}
|
||||
|
||||
@Test
|
||||
void extract_nullContext() {
|
||||
Context input = null;
|
||||
Context result =
|
||||
TextMapPropagator.noop().extract(input, new HashMap<>(), new HashMapTextMapGetter());
|
||||
assertThat(result).isSameAs(input);
|
||||
}
|
||||
|
||||
private static class HashMapTextMapGetter
|
||||
implements TextMapGetter<HashMap<? extends Object, ? extends Object>> {
|
||||
@Override
|
||||
public Iterable<String> keys(HashMap<?, ?> carrier) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public String get(@Nullable HashMap<?, ?> carrier, String key) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -233,8 +233,9 @@ public final class AwsXrayPropagator implements TextMapPropagator {
|
|||
spanId,
|
||||
isSampled ? TraceFlags.getSampled() : TraceFlags.getDefault(),
|
||||
TraceState.getDefault());
|
||||
|
||||
context = context.with(Span.wrap(spanContext));
|
||||
if (spanContext.isValid()) {
|
||||
context = context.with(Span.wrap(spanContext));
|
||||
}
|
||||
if (baggage != null) {
|
||||
context = context.with(baggage.build());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -273,8 +273,7 @@ class AwsXrayPropagatorTest {
|
|||
Map<String, String> invalidHeaders = new LinkedHashMap<>();
|
||||
invalidHeaders.put(TRACE_HEADER_KEY, "");
|
||||
|
||||
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -284,8 +283,7 @@ class AwsXrayPropagatorTest {
|
|||
TRACE_HEADER_KEY,
|
||||
"Root=abcdefghijklmnopabcdefghijklmnop;Parent=53995c3f42cd8ad8;Sampled=0");
|
||||
|
||||
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -295,8 +293,7 @@ class AwsXrayPropagatorTest {
|
|||
TRACE_HEADER_KEY,
|
||||
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa600;Parent=53995c3f42cd8ad8;Sampled=0");
|
||||
|
||||
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -306,8 +303,7 @@ class AwsXrayPropagatorTest {
|
|||
TRACE_HEADER_KEY,
|
||||
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=abcdefghijklmnop;Sampled=0");
|
||||
|
||||
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -317,8 +313,7 @@ class AwsXrayPropagatorTest {
|
|||
TRACE_HEADER_KEY,
|
||||
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad800;Sampled=0");
|
||||
|
||||
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -328,8 +323,7 @@ class AwsXrayPropagatorTest {
|
|||
TRACE_HEADER_KEY,
|
||||
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=");
|
||||
|
||||
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -339,8 +333,7 @@ class AwsXrayPropagatorTest {
|
|||
TRACE_HEADER_KEY,
|
||||
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=10220");
|
||||
|
||||
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -350,8 +343,14 @@ class AwsXrayPropagatorTest {
|
|||
TRACE_HEADER_KEY,
|
||||
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=a");
|
||||
|
||||
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
private void verifyInvalidBehavior(Map<String, String> invalidHeaders) {
|
||||
Context input = Context.current();
|
||||
Context result = xrayPropagator.extract(input, invalidHeaders, getter);
|
||||
assertThat(result).isSameAs(input);
|
||||
assertThat(getSpanContext(result)).isSameAs(SpanContext.getInvalid());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -234,8 +234,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(B3Propagator.TRACE_ID_HEADER, "g" + TRACE_ID.substring(1));
|
||||
invalidHeaders.put(B3Propagator.SPAN_ID_HEADER, SPAN_ID);
|
||||
invalidHeaders.put(B3Propagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -244,8 +243,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(B3Propagator.TRACE_ID_HEADER, TRACE_ID.substring(2));
|
||||
invalidHeaders.put(B3Propagator.SPAN_ID_HEADER, SPAN_ID);
|
||||
invalidHeaders.put(B3Propagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -254,8 +252,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(B3Propagator.TRACE_ID_HEADER, TRACE_ID + "00");
|
||||
invalidHeaders.put(B3Propagator.SPAN_ID_HEADER, SPAN_ID);
|
||||
invalidHeaders.put(B3Propagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -264,8 +261,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(B3Propagator.TRACE_ID_HEADER, TRACE_ID_ALL_ZERO);
|
||||
invalidHeaders.put(B3Propagator.SPAN_ID_HEADER, SPAN_ID);
|
||||
invalidHeaders.put(B3Propagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -274,8 +270,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(B3Propagator.TRACE_ID_HEADER, TRACE_ID);
|
||||
invalidHeaders.put(B3Propagator.SPAN_ID_HEADER, "g" + SPAN_ID.substring(1));
|
||||
invalidHeaders.put(B3Propagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -284,8 +279,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(B3Propagator.TRACE_ID_HEADER, TRACE_ID);
|
||||
invalidHeaders.put(B3Propagator.SPAN_ID_HEADER, SPAN_ID.substring(2));
|
||||
invalidHeaders.put(B3Propagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -294,8 +288,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(B3Propagator.TRACE_ID_HEADER, TRACE_ID);
|
||||
invalidHeaders.put(B3Propagator.SPAN_ID_HEADER, SPAN_ID + "00");
|
||||
invalidHeaders.put(B3Propagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -304,8 +297,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(B3Propagator.TRACE_ID_HEADER, TRACE_ID);
|
||||
invalidHeaders.put(B3Propagator.SPAN_ID_HEADER, SPAN_ID_ALL_ZERO);
|
||||
invalidHeaders.put(B3Propagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -481,8 +473,14 @@ class B3PropagatorTest {
|
|||
Map<String, String> invalidHeaders = new LinkedHashMap<>();
|
||||
invalidHeaders.put(B3Propagator.COMBINED_HEADER, null);
|
||||
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
private void verifyInvalidBehavior(Map<String, String> invalidHeaders) {
|
||||
Context input = Context.current();
|
||||
Context extractedContext = b3Propagator.extract(input, invalidHeaders, getter);
|
||||
assertThat(extractedContext).isSameAs(input);
|
||||
assertThat(getSpanContext(extractedContext)).isSameAs(SpanContext.getInvalid());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -490,8 +488,7 @@ class B3PropagatorTest {
|
|||
Map<String, String> invalidHeaders = new LinkedHashMap<>();
|
||||
invalidHeaders.put(B3Propagator.COMBINED_HEADER, "");
|
||||
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -501,8 +498,7 @@ class B3PropagatorTest {
|
|||
B3Propagator.COMBINED_HEADER,
|
||||
"abcdefghijklmnopabcdefghijklmnop" + "-" + SPAN_ID + "-" + Common.TRUE_INT);
|
||||
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -512,8 +508,7 @@ class B3PropagatorTest {
|
|||
B3Propagator.COMBINED_HEADER,
|
||||
"abcdefghijklmnopabcdefghijklmnop" + "00" + "-" + SPAN_ID + "-" + Common.TRUE_INT);
|
||||
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -522,8 +517,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(
|
||||
B3Propagator.COMBINED_HEADER, TRACE_ID + "-" + "abcdefghijklmnop" + "-" + Common.TRUE_INT);
|
||||
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -533,8 +527,7 @@ class B3PropagatorTest {
|
|||
B3Propagator.COMBINED_HEADER,
|
||||
TRACE_ID + "-" + "abcdefghijklmnop" + "00" + "-" + Common.TRUE_INT);
|
||||
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -542,8 +535,7 @@ class B3PropagatorTest {
|
|||
Map<String, String> invalidHeaders = new LinkedHashMap<>();
|
||||
invalidHeaders.put(B3Propagator.COMBINED_HEADER, TRACE_ID);
|
||||
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -552,8 +544,7 @@ class B3PropagatorTest {
|
|||
invalidHeaders.put(
|
||||
B3Propagator.COMBINED_HEADER,
|
||||
TRACE_ID + "-" + SPAN_ID + "-" + Common.TRUE_INT + "-extra-extra");
|
||||
assertThat(getSpanContext(b3Propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -213,8 +213,14 @@ class JaegerPropagatorTest {
|
|||
Map<String, String> invalidHeaders = new LinkedHashMap<>();
|
||||
invalidHeaders.put(PROPAGATION_HEADER, "aa:bb:cc");
|
||||
|
||||
assertThat(getSpanContext(jaegerPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
private void verifyInvalidBehavior(Map<String, String> invalidHeaders) {
|
||||
Context input = Context.current();
|
||||
Context result = jaegerPropagator.extract(input, invalidHeaders, getter);
|
||||
assertThat(result).isSameAs(input);
|
||||
assertThat(getSpanContext(result)).isSameAs(SpanContext.getInvalid());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -222,8 +228,7 @@ class JaegerPropagatorTest {
|
|||
Map<String, String> invalidHeaders = new LinkedHashMap<>();
|
||||
invalidHeaders.put(PROPAGATION_HEADER, "aa:bb:cc:dd:ee");
|
||||
|
||||
assertThat(getSpanContext(jaegerPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -234,8 +239,7 @@ class JaegerPropagatorTest {
|
|||
generateTraceIdHeaderValue(
|
||||
"abcdefghijklmnopabcdefghijklmnop", SPAN_ID, DEPRECATED_PARENT_SPAN, "0"));
|
||||
|
||||
assertThat(getSpanContext(jaegerPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -245,8 +249,7 @@ class JaegerPropagatorTest {
|
|||
PROPAGATION_HEADER,
|
||||
generateTraceIdHeaderValue(TRACE_ID + "00", SPAN_ID, DEPRECATED_PARENT_SPAN, "0"));
|
||||
|
||||
assertThat(getSpanContext(jaegerPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -256,8 +259,7 @@ class JaegerPropagatorTest {
|
|||
PROPAGATION_HEADER,
|
||||
generateTraceIdHeaderValue(TRACE_ID, "abcdefghijklmnop", DEPRECATED_PARENT_SPAN, "0"));
|
||||
|
||||
assertThat(getSpanContext(jaegerPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -267,8 +269,7 @@ class JaegerPropagatorTest {
|
|||
PROPAGATION_HEADER,
|
||||
generateTraceIdHeaderValue(TRACE_ID, SPAN_ID + "00", DEPRECATED_PARENT_SPAN, "0"));
|
||||
|
||||
assertThat(getSpanContext(jaegerPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -278,8 +279,7 @@ class JaegerPropagatorTest {
|
|||
PROPAGATION_HEADER,
|
||||
generateTraceIdHeaderValue(TRACE_ID, SPAN_ID, DEPRECATED_PARENT_SPAN, ""));
|
||||
|
||||
assertThat(getSpanContext(jaegerPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -289,8 +289,7 @@ class JaegerPropagatorTest {
|
|||
PROPAGATION_HEADER,
|
||||
generateTraceIdHeaderValue(TRACE_ID, SPAN_ID, DEPRECATED_PARENT_SPAN, "10220"));
|
||||
|
||||
assertThat(getSpanContext(jaegerPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -300,8 +299,7 @@ class JaegerPropagatorTest {
|
|||
PROPAGATION_HEADER,
|
||||
generateTraceIdHeaderValue(TRACE_ID, SPAN_ID, DEPRECATED_PARENT_SPAN, "abcdefr"));
|
||||
|
||||
assertThat(getSpanContext(jaegerPropagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -264,8 +264,7 @@ class OtTracePropagatorTest {
|
|||
invalidHeaders.put(OtTracePropagator.TRACE_ID_HEADER, TRACE_ID + "00");
|
||||
invalidHeaders.put(OtTracePropagator.SPAN_ID_HEADER, SPAN_ID);
|
||||
invalidHeaders.put(OtTracePropagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -274,8 +273,7 @@ class OtTracePropagatorTest {
|
|||
invalidHeaders.put(OtTracePropagator.TRACE_ID_HEADER, TRACE_ID);
|
||||
invalidHeaders.put(OtTracePropagator.SPAN_ID_HEADER, "abcdefghijklmnop");
|
||||
invalidHeaders.put(OtTracePropagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -284,15 +282,20 @@ class OtTracePropagatorTest {
|
|||
invalidHeaders.put(OtTracePropagator.TRACE_ID_HEADER, TRACE_ID);
|
||||
invalidHeaders.put(OtTracePropagator.SPAN_ID_HEADER, "abcdefghijklmnop" + "00");
|
||||
invalidHeaders.put(OtTracePropagator.SAMPLED_HEADER, Common.TRUE_INT);
|
||||
assertThat(getSpanContext(propagator.extract(Context.current(), invalidHeaders, getter)))
|
||||
.isSameAs(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(invalidHeaders);
|
||||
}
|
||||
|
||||
private void verifyInvalidBehavior(Map<String, String> invalidHeaders) {
|
||||
Context input = Context.current();
|
||||
Context result = propagator.extract(input, invalidHeaders, getter);
|
||||
assertThat(result).isSameAs(input);
|
||||
assertThat(getSpanContext(result)).isSameAs(SpanContext.getInvalid());
|
||||
}
|
||||
|
||||
@Test
|
||||
void extract_emptyCarrier() {
|
||||
Map<String, String> emptyHeaders = new HashMap<>();
|
||||
assertThat(getSpanContext(propagator.extract(Context.current(), emptyHeaders, getter)))
|
||||
.isEqualTo(SpanContext.getInvalid());
|
||||
verifyInvalidBehavior(emptyHeaders);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in New Issue