@@ -32,6 +32,8 @@ class OtTracePropagatorTest {
3232 private static final String SHORT_TRACE_ID = "ff00000000000000" ;
3333 private static final String SHORT_TRACE_ID_FULL = "0000000000000000ff00000000000000" ;
3434 private static final String SPAN_ID = "ff00000000000041" ;
35+ private static final String SHORT_SPAN_ID = "f00000000000041" ;
36+ private static final String SHORT_SPAN_ID_FULL = "0f00000000000041" ;
3537 private static final TextMapSetter <Map <String , String >> setter = Map ::put ;
3638 private static final TextMapGetter <Map <String , String >> getter =
3739 new TextMapGetter <Map <String , String >>() {
@@ -261,6 +263,45 @@ void extract_NotSampledContext_Short_TraceId() {
261263 SHORT_TRACE_ID_FULL , SPAN_ID , TraceFlags .getDefault (), TraceState .getDefault ()));
262264 }
263265
266+ @ Test
267+ void extract_SampledContext_Int_Short_SPanId () {
268+ Map <String , String > carrier = new LinkedHashMap <>();
269+ carrier .put (OtTracePropagator .TRACE_ID_HEADER , TRACE_ID );
270+ carrier .put (OtTracePropagator .SPAN_ID_HEADER , SHORT_SPAN_ID );
271+ carrier .put (OtTracePropagator .SAMPLED_HEADER , Common .TRUE_INT );
272+
273+ assertThat (getSpanContext (propagator .extract (Context .current (), carrier , getter )))
274+ .isEqualTo (
275+ SpanContext .createFromRemoteParent (
276+ TRACE_ID , SHORT_SPAN_ID_FULL , TraceFlags .getSampled (), TraceState .getDefault ()));
277+ }
278+
279+ @ Test
280+ void extract_SampledContext_Bool_Short_SpanId () {
281+ Map <String , String > carrier = new LinkedHashMap <>();
282+ carrier .put (OtTracePropagator .TRACE_ID_HEADER , TRACE_ID );
283+ carrier .put (OtTracePropagator .SPAN_ID_HEADER , SHORT_SPAN_ID );
284+ carrier .put (OtTracePropagator .SAMPLED_HEADER , "true" );
285+
286+ assertThat (getSpanContext (propagator .extract (Context .current (), carrier , getter )))
287+ .isEqualTo (
288+ SpanContext .createFromRemoteParent (
289+ TRACE_ID , SHORT_SPAN_ID_FULL , TraceFlags .getSampled (), TraceState .getDefault ()));
290+ }
291+
292+ @ Test
293+ void extract_NotSampledContext_Short_SpanId () {
294+ Map <String , String > carrier = new LinkedHashMap <>();
295+ carrier .put (OtTracePropagator .TRACE_ID_HEADER , TRACE_ID );
296+ carrier .put (OtTracePropagator .SPAN_ID_HEADER , SHORT_SPAN_ID );
297+ carrier .put (OtTracePropagator .SAMPLED_HEADER , Common .FALSE_INT );
298+
299+ assertThat (getSpanContext (propagator .extract (Context .current (), carrier , getter )))
300+ .isEqualTo (
301+ SpanContext .createFromRemoteParent (
302+ TRACE_ID , SHORT_SPAN_ID_FULL , TraceFlags .getDefault (), TraceState .getDefault ()));
303+ }
304+
264305 @ Test
265306 void extract_InvalidTraceId () {
266307 Map <String , String > invalidHeaders = new LinkedHashMap <>();
0 commit comments