/** * Converts Tracestate header to Object representation * * @return Tracestate */ public static Tracestate fromString(String s) { return new Tracestate(s); }
/** * 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); }
private Traceparent(int version, String traceId, String spanId, int traceFlags, boolean check) { if (check) { validate(version, traceId, spanId, traceFlags); } this.version = version; this.traceId = traceId; this.spanId = spanId; this.traceFlags = traceFlags; }
@Test(expected = IllegalArgumentException.class) public void throwsWhenFlagIsOutOfLowerRange() { String traceId = Traceparent.randomHex(16); String spanId = Traceparent.randomHex(8); Traceparent t1 = new Traceparent(0, traceId, spanId, -1); }
@Test public void canCreateTraceStateWithString() { String tracestate = "az=cid-v1:120"; Tracestate t1 = new Tracestate(tracestate); Assert.assertEquals(tracestate, t1.toString()); } }
@Test public void testTraceParentUniqueness() { Traceparent t1 = new Traceparent(); Traceparent t2 = new Traceparent(); Assert.assertNotEquals(t1.traceId, t2.traceId); Assert.assertNotEquals(t1.spanId, t2.spanId); // version is always 0 Assert.assertEquals(t1.version, t2.version); // flags are currently 0, may change in future Assert.assertEquals(t1.traceFlags, t2.traceFlags); }
@Test(expected = IllegalArgumentException.class) public void throwsWhenCreatingTraceParentWithIllegalSpanId() { String traceId = Traceparent.randomHex(16); String invalidSpanId = Traceparent.randomHex(16); Traceparent t1 = new Traceparent(0, traceId, invalidSpanId, 0); }
/** * Converts Tracestate header to Object representation * * @return Tracestate */ public static Tracestate fromString(String s) { return new Tracestate(s); }
/** * 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 public void canCreateValidTraceParentWithDefaultConstructor() { Traceparent traceparent = new Traceparent(); Assert.assertNotNull(traceparent.traceId); Assert.assertNotNull(traceparent.spanId); Assert.assertEquals(0, traceparent.version); Assert.assertNotNull(traceparent.traceFlags); }
private Traceparent(int version, String traceId, String spanId, int traceFlags, boolean check) { if (check) { validate(version, traceId, spanId, traceFlags); } this.version = version; this.traceId = traceId; this.spanId = spanId; this.traceFlags = traceFlags; }
@Test(expected = IllegalArgumentException.class) public void throwsWhenVersionNumberIsOutOfRange() { String traceId = Traceparent.randomHex(16); String spanId = Traceparent.randomHex(8); Traceparent t1 = new Traceparent(256, traceId, spanId, 0); }
@Test(expected = IllegalArgumentException.class) public void throwsWhenTracestateIsNull() { new Tracestate(null); }
@Test(expected = IllegalArgumentException.class) public void throwsWhenCreatingTraceParentWithIllegalTraceId() { String invalidTraceId = Traceparent.randomHex(32); String spanId = Traceparent.randomHex(8); Traceparent t1 = new Traceparent(0, invalidTraceId, spanId, 0); }
@Test(expected = IllegalArgumentException.class) public void throwsWhenTracestateIsEmpty() { new Tracestate(""); }
@Test(expected = IllegalArgumentException.class) public void throwsWhenVersionNumberIsOutOfLowerRange() { String traceId = Traceparent.randomHex(16); String spanId = Traceparent.randomHex(8); Traceparent t1 = new Traceparent(-1, traceId, spanId, 0); }
@Test(expected = IllegalArgumentException.class) public void throwsWhenFlagIsOutOfUpperRange() { String traceId = Traceparent.randomHex(16); String spanId = Traceparent.randomHex(8); Traceparent t1 = new Traceparent(0, traceId, spanId, 256); }
@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); }