/** * The constructor that tries to create Traceparent Object from given version, traceId, spanID * and traceFlags. */ public Traceparent(int version, String traceId, String spanId, int traceFlags) { this(version, traceId != null ? traceId : randomHex(16), spanId != null ? spanId : randomHex(8), traceFlags, true); }
/** * The constructor that tries to create Traceparent Object from given version, traceId, spanID * and traceFlags. */ public Traceparent(int version, String traceId, String spanId, int traceFlags) { this(version, traceId != null ? traceId : randomHex(16), spanId != null ? spanId : randomHex(8), traceFlags, true); }
@Test(expected = IllegalArgumentException.class) public void throwsWhenTryingToCreateWithMalformedTraceparentString() { String invalidTraceId = Traceparent.randomHex(32); String invalidSpanId = Traceparent.randomHex(16); String invalidTraceparent = String.format("%02x-%s-%s-%02x", 0, invalidTraceId, invalidSpanId, 0); Traceparent t1 = Traceparent.fromString(invalidTraceparent); }
@Test public void canCreateTraceParentWithProvidedValues() { String traceId = Traceparent.randomHex(16); String spanId = Traceparent.randomHex(8); Traceparent t1 = new Traceparent(0, traceId, spanId, 0); Assert.assertEquals(traceId, t1.traceId); Assert.assertEquals(spanId, t1.spanId); Assert.assertEquals(0, t1.version); Assert.assertEquals(0, t1.traceFlags); }
@Test public void canCreateTraceParentFromString() { String traceId = Traceparent.randomHex(16); String spanId = Traceparent.randomHex(8); Traceparent t1 = new Traceparent(0, traceId, spanId, 0); Traceparent t2 = Traceparent.fromString(t1.toString()); Assert.assertEquals(t1.version, t2.version); Assert.assertEquals(t1.traceId, t2.traceId); Assert.assertEquals(t1.spanId, t2.spanId); Assert.assertEquals(t1.traceFlags, t2.traceFlags); // memory reference should be different Assert.assertFalse(t1 == t2); }