Skip to content

Commit 8d3d0e7

Browse files
committed
Merge branch '6.2.x'
2 parents 8d4a8cb + d597d2e commit 8d3d0e7

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

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

+18-8
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@
8383
import org.springframework.web.testfixture.xml.Pojo;
8484

8585
import static org.assertj.core.api.Assertions.assertThat;
86-
import static org.junit.jupiter.api.Assumptions.assumeFalse;
8786
import static org.junit.jupiter.params.provider.Arguments.argumentSet;
8887

8988
/**
@@ -108,6 +107,7 @@ class WebClientIntegrationTests {
108107
static Stream<Arguments> arguments() {
109108
return Stream.of(
110109
argumentSet("Reactor Netty", new ReactorClientHttpConnector()),
110+
argumentSet("Reactor Netty 2", new ReactorNetty2ClientHttpConnector()),
111111
argumentSet("JDK", new JdkClientHttpConnector()),
112112
argumentSet("Jetty", new JettyClientHttpConnector()),
113113
argumentSet("HttpComponents", new HttpComponentsClientHttpConnector())
@@ -193,29 +193,39 @@ void retrieveJson(ClientHttpConnector connector) {
193193

194194
@ParameterizedWebClientTest
195195
void applyAttributesToNativeRequest(ClientHttpConnector connector) {
196-
assumeFalse(connector instanceof ReactorClientHttpConnector,
197-
"Temporarily disabling flaky test for Reactor Netty");
198196
startServer(connector);
199197
prepareResponse(response -> {});
200198

201199
final AtomicReference<Object> nativeRequest = new AtomicReference<>();
202200
Mono<Void> result = this.webClient.get()
203201
.uri("/pojo")
204202
.attribute("foo","bar")
205-
.httpRequest(clientHttpRequest -> nativeRequest.set(clientHttpRequest.getNativeRequest()))
203+
.httpRequest(clientHttpRequest -> {
204+
if (clientHttpRequest instanceof ChannelOperations<?,?> nettyReq) {
205+
nativeRequest.set(nettyReq.channel().attr(ReactorClientHttpConnector.ATTRIBUTES_KEY));
206+
}
207+
else if (clientHttpRequest instanceof reactor.netty5.channel.ChannelOperations<?,?> nettyReq) {
208+
nativeRequest.set(nettyReq.channel().attr(ReactorNetty2ClientHttpConnector.ATTRIBUTES_KEY));
209+
}
210+
else {
211+
nativeRequest.set(clientHttpRequest.getNativeRequest());
212+
}
213+
})
206214
.retrieve()
207215
.bodyToMono(Void.class);
208216

209217
StepVerifier.create(result).expectComplete().verify();
210218

211-
if (nativeRequest.get() instanceof ChannelOperations<?,?> nativeReq) {
212-
Attribute<Map<String, Object>> attributes = nativeReq.channel().attr(ReactorClientHttpConnector.ATTRIBUTES_KEY);
219+
if (nativeRequest.get() instanceof Attribute<?>) {
220+
@SuppressWarnings("unchecked")
221+
Attribute<Map<String, Object>> attributes = (Attribute<Map<String, Object>>) nativeRequest.get();
213222
assertThat(attributes.get()).isNotNull();
214223
assertThat(attributes.get()).containsEntry("foo", "bar");
215224
}
216-
else if (nativeRequest.get() instanceof reactor.netty5.channel.ChannelOperations<?,?> nativeReq) {
225+
else if (nativeRequest.get() instanceof io.netty5.util.Attribute<?>) {
226+
@SuppressWarnings("unchecked")
217227
io.netty5.util.Attribute<Map<String, Object>> attributes =
218-
nativeReq.channel().attr(ReactorNetty2ClientHttpConnector.ATTRIBUTES_KEY);
228+
(io.netty5.util.Attribute<Map<String, Object>>) nativeRequest.get();
219229
assertThat(attributes.get()).isNotNull();
220230
assertThat(attributes.get()).containsEntry("foo", "bar");
221231
}

0 commit comments

Comments
 (0)