package brave.propagation; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class TraceContextOrSamplingFlagsTest { @Test public void contextWhenIdsAreSet() { TraceContext.Builder builder = TraceContext.newBuilder().traceId(333L).spanId(1L); TraceContextOrSamplingFlags contextOrFlags = TraceContextOrSamplingFlags.create(builder); assertThat(contextOrFlags.context()) .isEqualTo(builder.build()); assertThat(contextOrFlags.samplingFlags()) .isNull(); } @Test public void contextWhenIdsAndSamplingAreSet() { TraceContext.Builder builder = TraceContext.newBuilder().traceId(333L).spanId(1L).sampled(true); TraceContextOrSamplingFlags contextOrFlags = TraceContextOrSamplingFlags.create(builder); assertThat(contextOrFlags.context()) .isEqualTo(builder.build()); assertThat(contextOrFlags.samplingFlags()) .isNull(); } @Test public void flagsWhenMissingTraceId() { TraceContext.Builder builder = TraceContext.newBuilder().spanId(1L); TraceContextOrSamplingFlags contextOrFlags = TraceContextOrSamplingFlags.create(builder); assertThat(contextOrFlags.context()) .isNull(); assertThat(contextOrFlags.samplingFlags()) .isSameAs(SamplingFlags.EMPTY); } @Test public void flagsWhenMissingSpanId() { TraceContext.Builder builder = TraceContext.newBuilder().traceId(333L).sampled(true); TraceContextOrSamplingFlags contextOrFlags = TraceContextOrSamplingFlags.create(builder); assertThat(contextOrFlags.context()) .isNull(); assertThat(contextOrFlags.samplingFlags()) .isSameAs(SamplingFlags.SAMPLED); } @Test public void flags() { TraceContext.Builder builder = TraceContext.newBuilder().sampled(true); TraceContextOrSamplingFlags contextOrFlags = TraceContextOrSamplingFlags.create(builder); assertThat(contextOrFlags.context()) .isNull(); assertThat(contextOrFlags.samplingFlags()) .isSameAs(SamplingFlags.SAMPLED); } }