diff --git a/assets/spring-sleuth/pom.xml b/assets/spring-sleuth/pom.xml
index 756c8fe9e..aa9ed363f 100644
--- a/assets/spring-sleuth/pom.xml
+++ b/assets/spring-sleuth/pom.xml
@@ -6,7 +6,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.4.5
+ 4.1.0
@@ -42,6 +42,11 @@
spring-boot-starter-test
test
+
+ org.springframework.boot
+ spring-boot-webmvc-test
+ test
+
diff --git a/assets/spring-sleuth/src/test/java/hello/HelloControllerTest.java b/assets/spring-sleuth/src/test/java/hello/HelloControllerTest.java
index fe6c8c3e2..c14e84ce7 100644
--- a/assets/spring-sleuth/src/test/java/hello/HelloControllerTest.java
+++ b/assets/spring-sleuth/src/test/java/hello/HelloControllerTest.java
@@ -1,14 +1,19 @@
package hello;
import static org.hamcrest.Matchers.containsString;
+import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+import io.micrometer.tracing.Span;
+import io.micrometer.tracing.TraceContext;
+import io.micrometer.tracing.Tracer;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
import org.springframework.test.web.servlet.MockMvc;
@SpringBootTest
@@ -18,8 +23,20 @@ class HelloControllerTest {
@Autowired
private MockMvc mvc;
+ @MockitoBean
+ private Tracer tracer;
+
@Test
void returnsTraceAndSpanDetailsAndParentFromTraceparent() throws Exception {
+ Span span = org.mockito.Mockito.mock(Span.class);
+ TraceContext traceContext = org.mockito.Mockito.mock(TraceContext.class);
+
+ when(tracer.currentSpan()).thenReturn(span);
+ when(span.context()).thenReturn(traceContext);
+ when(traceContext.traceId()).thenReturn("4bf92f3577b34da6a3ce929d0e0e4736");
+ when(traceContext.spanId()).thenReturn("00f067aa0ba902b7");
+ when(traceContext.sampled()).thenReturn(Boolean.TRUE);
+
mvc.perform(get("/")
.header("traceparent", "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"))
.andExpect(status().isOk())