Skip to content

Commit fdff824

Browse files
committed
event bus testcase
1 parent b633b39 commit fdff824

File tree

1 file changed

+32
-8
lines changed
  • instrumentation/guava-10.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/guava/v10_0

1 file changed

+32
-8
lines changed

instrumentation/guava-10.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/guava/v10_0/AsyncEventBusTest.java

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,56 @@
33
import com.google.common.eventbus.AsyncEventBus;
44
import com.google.common.eventbus.Subscribe;
55
import io.opentelemetry.api.trace.Span;
6+
import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension;
7+
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
68
import org.junit.jupiter.api.Test;
9+
import org.junit.jupiter.api.extension.RegisterExtension;
710
import java.util.concurrent.ExecutorService;
811
import java.util.concurrent.Executors;
912

1013
import static org.assertj.core.api.Assertions.assertThat;
1114

1215
public class AsyncEventBusTest {
1316

17+
@RegisterExtension
18+
static final InstrumentationExtension testing = AgentInstrumentationExtension.create();
19+
1420
static final ExecutorService executor = Executors.newSingleThreadExecutor();
1521

1622
static final AsyncEventBus asyncEventBus = new AsyncEventBus(executor);
1723

1824
@Test
1925
void testAsyncEventBusTakeEffect() {
20-
String traceId = Span.current().getSpanContext().getTraceId();
26+
class Listener {
27+
String receivedTraceId;
2128

22-
class EventListener {
2329
@Subscribe
24-
public void handleEvent(String event) {
25-
String eventTraceId = Span.current().getSpanContext().getTraceId();
26-
assertThat(eventTraceId).isNotEqualTo("00000000000000000000000000000000");
27-
assertThat(eventTraceId).isEqualTo(traceId);
30+
public void onEvent(String event) {
31+
testing.runWithSpan("listener", () -> {
32+
receivedTraceId = Span.current().getSpanContext().getTraceId();
33+
});
2834
}
2935
}
3036

31-
asyncEventBus.register(new EventListener());
32-
asyncEventBus.post("Hello, AsyncEventBus!");
37+
Listener listener = new Listener();
38+
asyncEventBus.register(listener);
39+
40+
String[] parentTraceId = new String[1];
41+
testing.runWithSpan("parent", () -> {
42+
parentTraceId[0] = Span.current().getSpanContext().getTraceId();
43+
asyncEventBus.post("test");
44+
});
45+
46+
testing.waitAndAssertTraces(
47+
trace
48+
-> trace.hasSpansSatisfyingExactly(
49+
span -> span.hasName("parent"),
50+
span -> span.hasName("listener")
51+
));
52+
53+
assertThat(listener.receivedTraceId)
54+
.isNotNull()
55+
.isNotEqualTo("00000000000000000000000000000000")
56+
.isEqualTo(parentTraceId[0]);
3357
}
3458
}

0 commit comments

Comments
 (0)