Browse Source

Merge branch '6.2.x'

pull/33928/head
Simon Baslé 1 year ago
parent
commit
8d3d0e7ae5
  1. 26
      spring-webflux/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java

26
spring-webflux/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java

@ -83,7 +83,6 @@ import org.springframework.web.reactive.function.client.WebClient.ResponseSpec;
import org.springframework.web.testfixture.xml.Pojo; import org.springframework.web.testfixture.xml.Pojo;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assumptions.assumeFalse;
import static org.junit.jupiter.params.provider.Arguments.argumentSet; import static org.junit.jupiter.params.provider.Arguments.argumentSet;
/** /**
@ -108,6 +107,7 @@ class WebClientIntegrationTests {
static Stream<Arguments> arguments() { static Stream<Arguments> arguments() {
return Stream.of( return Stream.of(
argumentSet("Reactor Netty", new ReactorClientHttpConnector()), argumentSet("Reactor Netty", new ReactorClientHttpConnector()),
argumentSet("Reactor Netty 2", new ReactorNetty2ClientHttpConnector()),
argumentSet("JDK", new JdkClientHttpConnector()), argumentSet("JDK", new JdkClientHttpConnector()),
argumentSet("Jetty", new JettyClientHttpConnector()), argumentSet("Jetty", new JettyClientHttpConnector()),
argumentSet("HttpComponents", new HttpComponentsClientHttpConnector()) argumentSet("HttpComponents", new HttpComponentsClientHttpConnector())
@ -193,8 +193,6 @@ class WebClientIntegrationTests {
@ParameterizedWebClientTest @ParameterizedWebClientTest
void applyAttributesToNativeRequest(ClientHttpConnector connector) { void applyAttributesToNativeRequest(ClientHttpConnector connector) {
assumeFalse(connector instanceof ReactorClientHttpConnector,
"Temporarily disabling flaky test for Reactor Netty");
startServer(connector); startServer(connector);
prepareResponse(response -> {}); prepareResponse(response -> {});
@ -202,20 +200,32 @@ class WebClientIntegrationTests {
Mono<Void> result = this.webClient.get() Mono<Void> result = this.webClient.get()
.uri("/pojo") .uri("/pojo")
.attribute("foo","bar") .attribute("foo","bar")
.httpRequest(clientHttpRequest -> nativeRequest.set(clientHttpRequest.getNativeRequest())) .httpRequest(clientHttpRequest -> {
if (clientHttpRequest instanceof ChannelOperations<?,?> nettyReq) {
nativeRequest.set(nettyReq.channel().attr(ReactorClientHttpConnector.ATTRIBUTES_KEY));
}
else if (clientHttpRequest instanceof reactor.netty5.channel.ChannelOperations<?,?> nettyReq) {
nativeRequest.set(nettyReq.channel().attr(ReactorNetty2ClientHttpConnector.ATTRIBUTES_KEY));
}
else {
nativeRequest.set(clientHttpRequest.getNativeRequest());
}
})
.retrieve() .retrieve()
.bodyToMono(Void.class); .bodyToMono(Void.class);
StepVerifier.create(result).expectComplete().verify(); StepVerifier.create(result).expectComplete().verify();
if (nativeRequest.get() instanceof ChannelOperations<?,?> nativeReq) { if (nativeRequest.get() instanceof Attribute<?>) {
Attribute<Map<String, Object>> attributes = nativeReq.channel().attr(ReactorClientHttpConnector.ATTRIBUTES_KEY); @SuppressWarnings("unchecked")
Attribute<Map<String, Object>> attributes = (Attribute<Map<String, Object>>) nativeRequest.get();
assertThat(attributes.get()).isNotNull(); assertThat(attributes.get()).isNotNull();
assertThat(attributes.get()).containsEntry("foo", "bar"); assertThat(attributes.get()).containsEntry("foo", "bar");
} }
else if (nativeRequest.get() instanceof reactor.netty5.channel.ChannelOperations<?,?> nativeReq) { else if (nativeRequest.get() instanceof io.netty5.util.Attribute<?>) {
@SuppressWarnings("unchecked")
io.netty5.util.Attribute<Map<String, Object>> attributes = io.netty5.util.Attribute<Map<String, Object>> attributes =
nativeReq.channel().attr(ReactorNetty2ClientHttpConnector.ATTRIBUTES_KEY); (io.netty5.util.Attribute<Map<String, Object>>) nativeRequest.get();
assertThat(attributes.get()).isNotNull(); assertThat(attributes.get()).isNotNull();
assertThat(attributes.get()).containsEntry("foo", "bar"); assertThat(attributes.get()).containsEntry("foo", "bar");
} }

Loading…
Cancel
Save