diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml
index d07959a23..3b92456b6 100644
--- a/benchmarks/pom.xml
+++ b/benchmarks/pom.xml
@@ -33,7 +33,7 @@
1.8
1.8
2.3.0.BUILD-SNAPSHOT
- 5.9.5
+ 5.10.0
3.14.6
diff --git a/pom.xml b/pom.xml
index 207d75c98..e2efb8d59 100644
--- a/pom.xml
+++ b/pom.xml
@@ -257,7 +257,7 @@
Horsham.SR1
2.2.2.BUILD-SNAPSHOT
2.2.2.BUILD-SNAPSHOT
- 5.9.5
+ 5.10.0
2.1.7.RELEASE
2.2.2.BUILD-SNAPSHOT
false
diff --git a/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-sleuth-dependencies/pom.xml
index 11cd57f54..491afd756 100644
--- a/spring-cloud-sleuth-dependencies/pom.xml
+++ b/spring-cloud-sleuth-dependencies/pom.xml
@@ -31,7 +31,7 @@
spring-cloud-sleuth-dependencies
Spring Cloud Sleuth Dependencies
- 5.9.5
+ 5.10.0
0.35.1
3.4.1
diff --git a/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/ReactorNettyHttpClientBraveTests.java b/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/ReactorNettyHttpClientBraveTests.java
index e526f7188..af2d8ded7 100644
--- a/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/ReactorNettyHttpClientBraveTests.java
+++ b/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/ReactorNettyHttpClientBraveTests.java
@@ -83,12 +83,6 @@ public class ReactorNettyHttpClientBraveTests
public void callbackContextIsFromInvocationTime() {
}
- @Test
- @Ignore("TODO: False negative due to NPE reading context: remove after Brave 5.10")
- @Override
- public void asyncRootSpan() {
- }
-
@Test
@Ignore("TODO: reactor/reactor-netty#1000")
@Override
@@ -101,6 +95,13 @@ public class ReactorNettyHttpClientBraveTests
public void supportsPortableCustomization() {
}
+ @Test
+ @Ignore("TODO: reactor/reactor-netty#1000")
+ @Override
+ @Deprecated
+ public void supportsDeprecatedPortableCustomization() {
+ }
+
@Test
@Ignore("TODO: reactor/reactor-netty#1000")
@Override
@@ -119,6 +120,12 @@ public class ReactorNettyHttpClientBraveTests
public void httpPathTagExcludesQueryParams() {
}
+ @Test
+ @Ignore("HttpClient has no function to retrieve the wire request from the response")
+ @Override
+ public void readsRequestAtResponseTime() {
+ }
+
@Override
protected void post(AnnotationConfigApplicationContext context,
String pathIncludingQuery, String body) {
@@ -129,11 +136,11 @@ public class ReactorNettyHttpClientBraveTests
@Override
protected void getAsync(AnnotationConfigApplicationContext context, String path,
- Callback callback) {
+ Callback callback) {
Mono request = context.getBean(HttpClient.class).get()
.uri(path).response();
- TestCallbackSubscriber.subscribe(request, callback);
+ TestHttpCallbackSubscriber.subscribe(request, r -> r.status().code(), callback);
}
}
diff --git a/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/TestCallbackSubscriber.java b/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/TestHttpCallbackSubscriber.java
similarity index 82%
rename from tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/TestCallbackSubscriber.java
rename to tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/TestHttpCallbackSubscriber.java
index 57569eeaa..b56557f03 100644
--- a/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/TestCallbackSubscriber.java
+++ b/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/TestHttpCallbackSubscriber.java
@@ -17,6 +17,7 @@
package org.springframework.cloud.sleuth.instrument.web.client;
import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Function;
import org.reactivestreams.Subscription;
import reactor.core.CoreSubscriber;
@@ -34,17 +35,22 @@ import zipkin2.Callback;
* The implementation forwards signals to the supplied {@link Callback}, enforcing
* assumptions about a non-empty, {@link Mono} subscription.
*/
-final class TestCallbackSubscriber implements CoreSubscriber {
+final class TestHttpCallbackSubscriber implements CoreSubscriber {
- static void subscribe(Mono mono, Callback callback) {
- mono.subscribe(new TestCallbackSubscriber<>(callback));
+ static void subscribe(Mono mono, Function statusCodeFunction,
+ Callback callback) {
+ mono.subscribe(new TestHttpCallbackSubscriber<>(statusCodeFunction, callback));
}
- final Callback callback;
+ final Function statusCodeFunction;
+
+ final Callback callback;
final AtomicReference ref = new AtomicReference<>();
- private TestCallbackSubscriber(Callback callback) {
+ private TestHttpCallbackSubscriber(Function statusCodeFunction,
+ Callback callback) {
+ this.statusCodeFunction = statusCodeFunction;
this.callback = callback;
}
@@ -63,7 +69,7 @@ final class TestCallbackSubscriber implements CoreSubscriber {
@Override
public void onNext(T t) {
if (ref.getAndSet(null) != null) {
- callback.onSuccess(null /* because Void */);
+ callback.onSuccess(statusCodeFunction.apply(t));
}
else {
// This is a Mono, which doesn't signal onNext() twice. If we reach here,
diff --git a/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/WebClientBraveTests.java b/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/WebClientBraveTests.java
index 6f89a6e2d..d5859a3d5 100644
--- a/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/WebClientBraveTests.java
+++ b/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/WebClientBraveTests.java
@@ -75,10 +75,11 @@ public class WebClientBraveTests
@Override
protected void getAsync(AnnotationConfigApplicationContext context, String path,
- Callback callback) {
+ Callback callback) {
Mono request = client(context).get().uri(path).exchange();
- TestCallbackSubscriber.subscribe(request, callback);
+ TestHttpCallbackSubscriber.subscribe(request, ClientResponse::rawStatusCode,
+ callback);
}
@Test
@@ -93,6 +94,12 @@ public class WebClientBraveTests
public void reportsServerAddress() {
}
+ @Test
+ @Ignore("TODO: maybe refactor as an ExchangeFilterFunction to get the request from response")
+ @Override
+ public void readsRequestAtResponseTime() {
+ }
+
WebClient client(AnnotationConfigApplicationContext context) {
return context.getBean(WebClient.Builder.class)
.baseUrl("http://127.0.0.1:" + server.getPort()).build();