Skip to content

Commit a9d4586

Browse files
committed
test
1 parent 7daa1f3 commit a9d4586

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanBuilderTest.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import io.opentelemetry.api.trace.TraceState;
3333
import io.opentelemetry.api.trace.TracerProvider;
3434
import io.opentelemetry.context.Context;
35+
import io.opentelemetry.context.ContextKey;
3536
import io.opentelemetry.context.Scope;
3637
import io.opentelemetry.sdk.trace.data.LinkData;
3738
import io.opentelemetry.sdk.trace.data.SpanData;
@@ -47,6 +48,7 @@
4748
import org.junit.jupiter.api.BeforeEach;
4849
import org.junit.jupiter.api.Test;
4950
import org.junit.jupiter.api.extension.ExtendWith;
51+
import org.mockito.ArgumentCaptor;
5052
import org.mockito.ArgumentMatchers;
5153
import org.mockito.Mock;
5254
import org.mockito.Mockito;
@@ -940,6 +942,43 @@ void propagateRandomTraceIdFlag() {
940942
}
941943
}
942944

945+
@Test
946+
void samplerReceivesPropagatorContextWithRandomTraceId() {
947+
Sampler mockSampler = Mockito.mock(Sampler.class);
948+
Mockito.when(
949+
mockSampler.shouldSample(
950+
ArgumentMatchers.any(),
951+
ArgumentMatchers.anyString(),
952+
ArgumentMatchers.anyString(),
953+
ArgumentMatchers.any(),
954+
ArgumentMatchers.any(),
955+
ArgumentMatchers.anyList()))
956+
.thenReturn(SamplingResult.recordAndSample());
957+
958+
SdkTracerProvider provider = SdkTracerProvider.builder().setSampler(mockSampler).build();
959+
ContextKey<String> propagatorKey = ContextKey.named("propagator-test-key");
960+
Context parentWithPropagatorData = Context.root().with(propagatorKey, "test-value");
961+
962+
Span span =
963+
provider.get("test").spanBuilder(SPAN_NAME).setParent(parentWithPropagatorData).startSpan();
964+
span.end();
965+
966+
ArgumentCaptor<Context> contextCaptor = ArgumentCaptor.forClass(Context.class);
967+
Mockito.verify(mockSampler)
968+
.shouldSample(
969+
contextCaptor.capture(),
970+
ArgumentMatchers.anyString(),
971+
ArgumentMatchers.anyString(),
972+
ArgumentMatchers.any(),
973+
ArgumentMatchers.any(),
974+
ArgumentMatchers.anyList());
975+
976+
Context samplerContext = contextCaptor.getValue();
977+
assertThat(samplerContext.get(propagatorKey)).isEqualTo("test-value");
978+
assertThat(Span.fromContext(samplerContext).getSpanContext().getTraceFlags().isTraceIdRandom())
979+
.isTrue();
980+
}
981+
943982
@Test
944983
void startTimestamp_numeric() {
945984
SdkSpan span =

0 commit comments

Comments
 (0)