44import com .google .gson .reflect .TypeToken ;
55import java .lang .reflect .Type ;
66import java .util .HashMap ;
7- import org .junit .Assert ;
87import org .junit .Test ;
98
109import java .util .Map ;
1110
11+ import static org .junit .Assert .assertEquals ;
12+ import static org .junit .Assert .assertNotNull ;
13+ import static org .junit .Assert .assertNull ;
14+
1215public class TracingTest {
1316
1417 @ Test
@@ -29,10 +32,10 @@ public void makeOutboundHttpTraceHeaders() {
2932
3033 Map <String , String > headers = t .makeOutboundHttpTraceHeaders ();
3134
32- Assert . assertEquals (3 , headers .size ());
33- Assert . assertEquals ("2" , headers .get (cxt .ddSamplingKey ));
34- Assert . assertEquals ("12344567890" , headers .get (cxt .ddTraceKey ));
35- Assert . assertEquals ("6023947403358210776" , headers .get (cxt .ddParentKey ));
35+ assertEquals (3 , headers .size ());
36+ assertEquals ("2" , headers .get (cxt .ddSamplingKey ));
37+ assertEquals ("12344567890" , headers .get (cxt .ddTraceKey ));
38+ assertEquals ("6023947403358210776" , headers .get (cxt .ddParentKey ));
3639 }
3740
3841 @ Test
@@ -53,7 +56,7 @@ public void makeOutboundHttpTraceHeaders_no_parent() {
5356
5457 Map <String , String > headers = t .makeOutboundHttpTraceHeaders ();
5558
56- Assert . assertEquals (0 , headers .size ());
59+ assertEquals (0 , headers .size ());
5760 }
5861
5962 @ Test
@@ -83,6 +86,24 @@ public void makeOutboundJson() {
8386 expectedTracingInfo .put (cxt .ddParentKey , "6023947403358210776" );
8487 expectedTracingInfo .put (cxt .ddSamplingKey , cxt .samplingPriority );
8588
86- Assert .assertEquals (expectedTracingInfo , tracingInfo );
89+ assertEquals (expectedTracingInfo , tracingInfo );
90+ }
91+
92+ @ Test
93+ public void shouldSupportAtLeastThreePartsIn_X_AMZN_TRACE_ID () {
94+ XRayTraceContext xRayTraceContextBefore2023March14 = new XRayTraceContext ("Root=1-5e41a79d-e6a0db584029dba86a594b7e;Parent=8c34f5ad8f92d510;Sampled=1" );
95+ assertEquals ("1-5e41a79d-e6a0db584029dba86a594b7e" , xRayTraceContextBefore2023March14 .getTraceId ());
96+ assertEquals ("8c34f5ad8f92d510" , xRayTraceContextBefore2023March14 .getParentId ());
97+
98+ XRayTraceContext xRayTraceContextSince2023March14 = new XRayTraceContext ("Root=1-5e41a79d-e6a0db584029dba86a594b7e;Parent=8c34f5ad8f92d510;Sampled=0;Lineage=f627d631:0" );
99+ assertEquals ("1-5e41a79d-e6a0db584029dba86a594b7e" , xRayTraceContextSince2023March14 .getTraceId ());
100+ assertEquals ("8c34f5ad8f92d510" , xRayTraceContextSince2023March14 .getParentId ());
87101 }
102+
103+ @ Test
104+ public void shouldIgnoreLessThanThreePartsIn_X_AMZN_TRACE_ID () {
105+ XRayTraceContext xRayTraceContextLessThanThreeParts = new XRayTraceContext ("Root=1-5e41a79d-e6a0db584029dba86a594b7e;Parent=8c34f5ad8f92d510" );
106+ assertNull (xRayTraceContextLessThanThreeParts .getTraceId ());
107+ assertNull (xRayTraceContextLessThanThreeParts .getParentId ());
108+ }
88109}
0 commit comments