Merge branch '6.2.x'
This commit is contained in:
		
						commit
						8d3d0e7ae5
					
				| 
						 | 
					@ -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…
	
		Reference in New Issue