diff --git a/spring-test/src/main/java/org/springframework/mock/http/server/reactive/MockServerHttpRequest.java b/spring-test/src/main/java/org/springframework/mock/http/server/reactive/MockServerHttpRequest.java
index faedbf4339..e577ab40a4 100644
--- a/spring-test/src/main/java/org/springframework/mock/http/server/reactive/MockServerHttpRequest.java
+++ b/spring-test/src/main/java/org/springframework/mock/http/server/reactive/MockServerHttpRequest.java
@@ -23,6 +23,7 @@ import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
+import java.util.Locale;
import java.util.Optional;
import org.reactivestreams.Publisher;
@@ -45,10 +46,7 @@ import org.springframework.web.util.UriComponentsBuilder;
/**
* Mock extension of {@link AbstractServerHttpRequest} for use in tests without
- * an actual server.
- *
- *
Use the static builder methods in this class to create an instance possibly
- * further creating a {@link MockServerWebExchange} via {@link #toExchange()}.
+ * an actual server. Use the static methods to obtain a builder.
*
* @author Rossen Stoyanchev
* @since 5.0
@@ -108,13 +106,6 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
throw new IllegalStateException("This is a mock. No running server, no native request.");
}
- /**
- * Shortcut to wrap the request with a {@code MockServerWebExchange}.
- */
- public MockServerWebExchange toExchange() {
- return new MockServerWebExchange(this);
- }
-
// Static builder methods
@@ -266,6 +257,13 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
*/
B acceptCharset(Charset... acceptableCharsets);
+ /**
+ * Set the list of acceptable {@linkplain Locale locales}, as specified
+ * by the {@code Accept-Languages} header.
+ * @param acceptableLocales the acceptable locales
+ */
+ B acceptLanguageAsLocales(Locale... acceptableLocales);
+
/**
* Set the value of the {@code If-Modified-Since} header.
*
The date should be specified as the number of milliseconds since
@@ -304,11 +302,6 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
*/
MockServerHttpRequest build();
- /**
- * Shortcut for:
- * {@code build().toExchange()}
- */
- MockServerWebExchange toExchange();
}
/**
@@ -357,6 +350,7 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
private static final DataBufferFactory BUFFER_FACTORY = new DefaultDataBufferFactory();
+
private final HttpMethod method;
private final URI url;
@@ -371,6 +365,7 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
@Nullable
private InetSocketAddress remoteAddress;
+
public DefaultBodyBuilder(HttpMethod method, URI url) {
this.method = method;
this.url = url;
@@ -426,6 +421,12 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
return this;
}
+ @Override
+ public BodyBuilder acceptLanguageAsLocales(Locale... acceptableLocales) {
+ this.headers.setAcceptLanguageAsLocales(Arrays.asList(acceptableLocales));
+ return this;
+ }
+
@Override
public BodyBuilder contentLength(long contentLength) {
this.headers.setContentLength(contentLength);
@@ -467,11 +468,6 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
return body(Flux.empty());
}
- @Override
- public MockServerWebExchange toExchange() {
- return build().toExchange();
- }
-
@Override
public MockServerHttpRequest body(String body) {
return body(Flux.just(BUFFER_FACTORY.wrap(body.getBytes(getCharset()))));
diff --git a/spring-test/src/main/java/org/springframework/mock/http/server/reactive/MockServerWebExchange.java b/spring-test/src/main/java/org/springframework/mock/web/server/MockServerWebExchange.java
similarity index 56%
rename from spring-test/src/main/java/org/springframework/mock/http/server/reactive/MockServerWebExchange.java
rename to spring-test/src/main/java/org/springframework/mock/web/server/MockServerWebExchange.java
index 6060a86565..ebde1f8c8f 100644
--- a/spring-test/src/main/java/org/springframework/mock/http/server/reactive/MockServerWebExchange.java
+++ b/spring-test/src/main/java/org/springframework/mock/web/server/MockServerWebExchange.java
@@ -13,32 +13,30 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.mock.http.server.reactive;
+package org.springframework.mock.web.server;
import org.springframework.http.codec.ServerCodecConfigurer;
-import org.springframework.web.server.ServerWebExchangeDecorator;
+import org.springframework.mock.http.server.reactive.MockServerHttpRequest;
+import org.springframework.mock.http.server.reactive.MockServerHttpResponse;
import org.springframework.web.server.adapter.DefaultServerWebExchange;
import org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver;
import org.springframework.web.server.session.DefaultWebSessionManager;
/**
- * {@code ServerWebExchange} for use in tests.
+ * Variant of {@link DefaultServerWebExchange} for use in tests with
+ * {@link MockServerHttpRequest} and {@link MockServerHttpResponse}.
*
- *
Effectively a wrapper around {@link DefaultServerWebExchange} plugged in
- * with {@link MockServerHttpRequest} and {@link MockServerHttpResponse}.
- *
- *
Typically used via {@link MockServerHttpRequest#toExchange()}.
+ *
See static factory methods to create an instance.
*
* @author Rossen Stoyanchev
* @since 5.0
*/
-public class MockServerWebExchange extends ServerWebExchangeDecorator {
+public final class MockServerWebExchange extends DefaultServerWebExchange {
- public MockServerWebExchange(MockServerHttpRequest request) {
- super(new DefaultServerWebExchange(
- request, new MockServerHttpResponse(), new DefaultWebSessionManager(),
- ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()));
+ private MockServerWebExchange(MockServerHttpRequest request) {
+ super(request, new MockServerHttpResponse(), new DefaultWebSessionManager(),
+ ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver());
}
@@ -47,4 +45,14 @@ public class MockServerWebExchange extends ServerWebExchangeDecorator {
return (MockServerHttpResponse) super.getResponse();
}
+
+ /**
+ * Create a {@link MockServerWebExchange} from the given request.
+ * @param request the request to use.
+ * @return the exchange
+ */
+ public static MockServerWebExchange from(MockServerHttpRequest request) {
+ return new MockServerWebExchange(request);
+ }
+
}
diff --git a/spring-test/src/main/java/org/springframework/mock/web/server/package-info.java b/spring-test/src/main/java/org/springframework/mock/web/server/package-info.java
new file mode 100644
index 0000000000..e3e3fc9841
--- /dev/null
+++ b/spring-test/src/main/java/org/springframework/mock/web/server/package-info.java
@@ -0,0 +1,9 @@
+/**
+ * Mock implementations of Spring's reactive server web API abtsractions.
+ */
+@NonNullApi
+@NonNullFields
+package org.springframework.mock.web.server;
+
+import org.springframework.lang.NonNullApi;
+import org.springframework.lang.NonNullFields;
diff --git a/spring-web/src/main/java/org/springframework/web/server/adapter/DefaultServerWebExchange.java b/spring-web/src/main/java/org/springframework/web/server/adapter/DefaultServerWebExchange.java
index 854b1238f1..be36f31c89 100644
--- a/spring-web/src/main/java/org/springframework/web/server/adapter/DefaultServerWebExchange.java
+++ b/spring-web/src/main/java/org/springframework/web/server/adapter/DefaultServerWebExchange.java
@@ -96,7 +96,8 @@ public class DefaultServerWebExchange implements ServerWebExchange {
public DefaultServerWebExchange(ServerHttpRequest request, ServerHttpResponse response,
- WebSessionManager sessionManager, ServerCodecConfigurer codecConfigurer, LocaleContextResolver localeContextResolver) {
+ WebSessionManager sessionManager, ServerCodecConfigurer codecConfigurer,
+ LocaleContextResolver localeContextResolver) {
Assert.notNull(request, "'request' is required");
Assert.notNull(response, "'response' is required");
diff --git a/spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/MockServerHttpRequest.java b/spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/MockServerHttpRequest.java
index 7abeef325e..61f5845c2d 100644
--- a/spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/MockServerHttpRequest.java
+++ b/spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/MockServerHttpRequest.java
@@ -38,6 +38,7 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.HttpRange;
import org.springframework.http.MediaType;
import org.springframework.http.server.reactive.AbstractServerHttpRequest;
+import org.springframework.lang.Nullable;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MimeType;
import org.springframework.util.MultiValueMap;
@@ -45,10 +46,7 @@ import org.springframework.web.util.UriComponentsBuilder;
/**
* Mock extension of {@link AbstractServerHttpRequest} for use in tests without
- * an actual server.
- *
- *
Use the static builder methods in this class to create an instance possibly
- * further creating a {@link MockServerWebExchange} via {@link #toExchange()}.
+ * an actual server. Use the static methods to obtain a builder.
*
* @author Rossen Stoyanchev
* @since 5.0
@@ -59,15 +57,15 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
private final MultiValueMap cookies;
+ @Nullable
private final InetSocketAddress remoteAddress;
private final Flux body;
- private MockServerHttpRequest(HttpMethod httpMethod, URI uri, String contextPath,
+ private MockServerHttpRequest(HttpMethod httpMethod, URI uri, @Nullable String contextPath,
HttpHeaders headers, MultiValueMap cookies,
- InetSocketAddress remoteAddress,
- Publisher extends DataBuffer> body) {
+ @Nullable InetSocketAddress remoteAddress, Publisher extends DataBuffer> body) {
super(uri, contextPath, headers);
this.httpMethod = httpMethod;
@@ -88,6 +86,7 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
}
@Override
+ @Nullable
public InetSocketAddress getRemoteAddress() {
return this.remoteAddress;
}
@@ -108,14 +107,6 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
}
- /**
- * Shortcut to wrap the request with a {@code MockServerWebExchange}.
- */
- public MockServerWebExchange toExchange() {
- return new MockServerWebExchange(this);
- }
-
-
// Static builder methods
/**
@@ -311,11 +302,6 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
*/
MockServerHttpRequest build();
- /**
- * Shortcut for:
- * {@code build().toExchange()}
- */
- MockServerWebExchange toExchange();
}
/**
@@ -369,12 +355,14 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
private final URI url;
+ @Nullable
private String contextPath;
private final HttpHeaders headers = new HttpHeaders();
private final MultiValueMap cookies = new LinkedMultiValueMap<>();
+ @Nullable
private InetSocketAddress remoteAddress;
@@ -480,11 +468,6 @@ public class MockServerHttpRequest extends AbstractServerHttpRequest {
return body(Flux.empty());
}
- @Override
- public MockServerWebExchange toExchange() {
- return build().toExchange();
- }
-
@Override
public MockServerHttpRequest body(String body) {
return body(Flux.just(BUFFER_FACTORY.wrap(body.getBytes(getCharset()))));
diff --git a/spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/package-info.java b/spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/package-info.java
new file mode 100644
index 0000000000..92e8462a0c
--- /dev/null
+++ b/spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/package-info.java
@@ -0,0 +1,9 @@
+
+// For @NonNull annotations on implementation classes
+
+@NonNullApi
+@NonNullFields
+package org.springframework.mock.http.server.reactive.test;
+
+import org.springframework.lang.NonNullApi;
+import org.springframework.lang.NonNullFields;
diff --git a/spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/MockServerWebExchange.java b/spring-web/src/test/java/org/springframework/mock/web/test/server/MockServerWebExchange.java
similarity index 55%
rename from spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/MockServerWebExchange.java
rename to spring-web/src/test/java/org/springframework/mock/web/test/server/MockServerWebExchange.java
index 1b9f69da99..c9a5fd888f 100644
--- a/spring-web/src/test/java/org/springframework/mock/http/server/reactive/test/MockServerWebExchange.java
+++ b/spring-web/src/test/java/org/springframework/mock/web/test/server/MockServerWebExchange.java
@@ -13,32 +13,30 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.mock.http.server.reactive.test;
+package org.springframework.mock.web.test.server;
import org.springframework.http.codec.ServerCodecConfigurer;
-import org.springframework.web.server.ServerWebExchangeDecorator;
+import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.http.server.reactive.test.MockServerHttpResponse;
import org.springframework.web.server.adapter.DefaultServerWebExchange;
import org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver;
import org.springframework.web.server.session.DefaultWebSessionManager;
/**
- * {@code ServerWebExchange} for use in tests.
+ * Variant of {@link DefaultServerWebExchange} for use in tests with
+ * {@link MockServerHttpRequest} and {@link MockServerHttpResponse}.
*
- *
Effectively a wrapper around {@link DefaultServerWebExchange} plugged in
- * with {@link MockServerHttpRequest} and {@link MockServerHttpResponse}.
- *
- *
Typically used via {@link MockServerHttpRequest#toExchange()}.
+ *
See static factory methods to create an instance.
*
* @author Rossen Stoyanchev
* @since 5.0
*/
-public class MockServerWebExchange extends ServerWebExchangeDecorator {
+public final class MockServerWebExchange extends DefaultServerWebExchange {
- public MockServerWebExchange(MockServerHttpRequest request) {
- super(new DefaultServerWebExchange(
- request, new MockServerHttpResponse(), new DefaultWebSessionManager(),
- ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()));
+ private MockServerWebExchange(MockServerHttpRequest request) {
+ super(request, new MockServerHttpResponse(), new DefaultWebSessionManager(),
+ ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver());
}
@@ -47,4 +45,14 @@ public class MockServerWebExchange extends ServerWebExchangeDecorator {
return (MockServerHttpResponse) super.getResponse();
}
+
+ /**
+ * Create a {@link MockServerWebExchange} from the given request.
+ * @param request the request to use.
+ * @return the exchange
+ */
+ public static MockServerWebExchange from(MockServerHttpRequest request) {
+ return new MockServerWebExchange(request);
+ }
+
}
diff --git a/spring-web/src/test/java/org/springframework/mock/web/test/server/package-info.java b/spring-web/src/test/java/org/springframework/mock/web/test/server/package-info.java
new file mode 100644
index 0000000000..1567f1fca2
--- /dev/null
+++ b/spring-web/src/test/java/org/springframework/mock/web/test/server/package-info.java
@@ -0,0 +1,9 @@
+
+// For @NonNull annotations on implementation classes
+
+@NonNullApi
+@NonNullFields
+package org.springframework.mock.web.test.server;
+
+import org.springframework.lang.NonNullApi;
+import org.springframework.lang.NonNullFields;
diff --git a/spring-web/src/test/java/org/springframework/web/bind/support/WebExchangeDataBinderTests.java b/spring-web/src/test/java/org/springframework/web/bind/support/WebExchangeDataBinderTests.java
index 59e5c053af..7388a454e0 100644
--- a/spring-web/src/test/java/org/springframework/web/bind/support/WebExchangeDataBinderTests.java
+++ b/spring-web/src/test/java/org/springframework/web/bind/support/WebExchangeDataBinderTests.java
@@ -34,6 +34,7 @@ import org.springframework.http.codec.multipart.FilePart;
import org.springframework.http.codec.multipart.MultipartHttpMessageWriter;
import org.springframework.mock.http.client.reactive.test.MockClientHttpRequest;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.tests.sample.beans.ITestBean;
import org.springframework.tests.sample.beans.TestBean;
import org.springframework.util.LinkedMultiValueMap;
@@ -181,7 +182,7 @@ public class WebExchangeDataBinderTests {
public void testBindingWithQueryParams() throws Exception {
String url = "/path?spouse=someValue&spouse.name=test";
MockServerHttpRequest request = MockServerHttpRequest.post(url).build();
- this.binder.bind(request.toExchange()).block(Duration.ofSeconds(5));
+ this.binder.bind(MockServerWebExchange.from(request)).block(Duration.ofSeconds(5));
assertNotNull(this.testBean.getSpouse());
assertEquals("test", this.testBean.getSpouse().getName());
@@ -223,11 +224,11 @@ public class WebExchangeDataBinderTests {
forClassWithGenerics(MultiValueMap.class, String.class, String.class),
MediaType.APPLICATION_FORM_URLENCODED, request, Collections.emptyMap()).block();
- return MockServerHttpRequest
- .post("/")
- .contentType(MediaType.APPLICATION_FORM_URLENCODED)
- .body(request.getBody())
- .toExchange();
+ return MockServerWebExchange.from(
+ MockServerHttpRequest
+ .post("/")
+ .contentType(MediaType.APPLICATION_FORM_URLENCODED)
+ .body(request.getBody()));
}
private ServerWebExchange exchangeMultipart(MultiValueMap multipartData) {
@@ -237,11 +238,10 @@ public class WebExchangeDataBinderTests {
new MultipartHttpMessageWriter().write(Mono.just(multipartData), forClass(MultiValueMap.class),
MediaType.MULTIPART_FORM_DATA, request, Collections.emptyMap()).block();
- return MockServerHttpRequest
+ return MockServerWebExchange.from(MockServerHttpRequest
.post("/")
.contentType(request.getHeaders().getContentType())
- .body(request.getBody())
- .toExchange();
+ .body(request.getBody()));
}
diff --git a/spring-web/src/test/java/org/springframework/web/cors/reactive/CorsWebFilterTests.java b/spring-web/src/test/java/org/springframework/web/cors/reactive/CorsWebFilterTests.java
index 76bac021a4..4928c69e66 100644
--- a/spring-web/src/test/java/org/springframework/web/cors/reactive/CorsWebFilterTests.java
+++ b/spring-web/src/test/java/org/springframework/web/cors/reactive/CorsWebFilterTests.java
@@ -1,24 +1,46 @@
+/*
+ * Copyright 2002-2017 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.springframework.web.cors.reactive;
import java.io.IOException;
import java.util.Arrays;
-
import javax.servlet.ServletException;
import org.junit.Before;
import org.junit.Test;
import reactor.core.publisher.Mono;
+import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.server.WebFilterChain;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.springframework.http.HttpHeaders.*;
+import static org.springframework.http.HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS;
+import static org.springframework.http.HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN;
+import static org.springframework.http.HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS;
+import static org.springframework.http.HttpHeaders.ACCESS_CONTROL_MAX_AGE;
+import static org.springframework.http.HttpHeaders.ACCESS_CONTROL_REQUEST_HEADERS;
+import static org.springframework.http.HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD;
+import static org.springframework.http.HttpHeaders.HOST;
+import static org.springframework.http.HttpHeaders.ORIGIN;
/**
* Unit tests for {@link CorsWebFilter}.
@@ -50,19 +72,19 @@ public class CorsWebFilterTests {
.header(ORIGIN, "http://domain2.com")
.header("header2", "foo")
.build();
- MockServerWebExchange exchange = new MockServerWebExchange(request);
WebFilterChain filterChain = (filterExchange) -> {
try {
- assertEquals("http://domain2.com", filterExchange.getResponse().getHeaders().getFirst(ACCESS_CONTROL_ALLOW_ORIGIN));
- assertEquals("header3, header4", filterExchange.getResponse().getHeaders().getFirst(ACCESS_CONTROL_EXPOSE_HEADERS));
+ HttpHeaders headers = filterExchange.getResponse().getHeaders();
+ assertEquals("http://domain2.com", headers.getFirst(ACCESS_CONTROL_ALLOW_ORIGIN));
+ assertEquals("header3, header4", headers.getFirst(ACCESS_CONTROL_EXPOSE_HEADERS));
} catch (AssertionError ex) {
return Mono.error(ex);
}
return Mono.empty();
};
- filter.filter(exchange, filterChain);
+ filter.filter(MockServerWebExchange.from(request), filterChain);
}
@Test
@@ -74,9 +96,10 @@ public class CorsWebFilterTests {
.header(ORIGIN, "http://domain2.com")
.header("header2", "foo")
.build();
- MockServerWebExchange exchange = new MockServerWebExchange(request);
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
- WebFilterChain filterChain = (filterExchange) -> Mono.error(new AssertionError("Invalid requests must not be forwarded to the filter chain"));
+ WebFilterChain filterChain = (filterExchange) -> Mono.error(
+ new AssertionError("Invalid requests must not be forwarded to the filter chain"));
filter.filter(exchange, filterChain);
assertNull(exchange.getResponse().getHeaders().getFirst(ACCESS_CONTROL_ALLOW_ORIGIN));
@@ -92,15 +115,17 @@ public class CorsWebFilterTests {
.header(ACCESS_CONTROL_REQUEST_METHOD, HttpMethod.GET.name())
.header(ACCESS_CONTROL_REQUEST_HEADERS, "header1, header2")
.build();
- MockServerWebExchange exchange = new MockServerWebExchange(request);
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
- WebFilterChain filterChain = (filterExchange) -> Mono.error(new AssertionError("Preflight requests must not be forwarded to the filter chain"));
+ WebFilterChain filterChain = (filterExchange) -> Mono.error(
+ new AssertionError("Preflight requests must not be forwarded to the filter chain"));
filter.filter(exchange, filterChain);
- assertEquals("http://domain2.com", exchange.getResponse().getHeaders().getFirst(ACCESS_CONTROL_ALLOW_ORIGIN));
- assertEquals("header1, header2", exchange.getResponse().getHeaders().getFirst(ACCESS_CONTROL_ALLOW_HEADERS));
- assertEquals("header3, header4", exchange.getResponse().getHeaders().getFirst(ACCESS_CONTROL_EXPOSE_HEADERS));
- assertEquals(123L, Long.parseLong(exchange.getResponse().getHeaders().getFirst(ACCESS_CONTROL_MAX_AGE)));
+ HttpHeaders headers = exchange.getResponse().getHeaders();
+ assertEquals("http://domain2.com", headers.getFirst(ACCESS_CONTROL_ALLOW_ORIGIN));
+ assertEquals("header1, header2", headers.getFirst(ACCESS_CONTROL_ALLOW_HEADERS));
+ assertEquals("header3, header4", headers.getFirst(ACCESS_CONTROL_EXPOSE_HEADERS));
+ assertEquals(123L, Long.parseLong(headers.getFirst(ACCESS_CONTROL_MAX_AGE)));
}
@Test
@@ -113,9 +138,11 @@ public class CorsWebFilterTests {
.header(ACCESS_CONTROL_REQUEST_METHOD, HttpMethod.DELETE.name())
.header(ACCESS_CONTROL_REQUEST_HEADERS, "header1, header2")
.build();
- MockServerWebExchange exchange = new MockServerWebExchange(request);
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
+
+ WebFilterChain filterChain = (filterExchange) -> Mono.error(
+ new AssertionError("Preflight requests must not be forwarded to the filter chain"));
- WebFilterChain filterChain = (filterExchange) -> Mono.error(new AssertionError("Preflight requests must not be forwarded to the filter chain"));
filter.filter(exchange, filterChain);
assertNull(exchange.getResponse().getHeaders().getFirst(ACCESS_CONTROL_ALLOW_ORIGIN));
diff --git a/spring-web/src/test/java/org/springframework/web/cors/reactive/DefaultCorsProcessorTests.java b/spring-web/src/test/java/org/springframework/web/cors/reactive/DefaultCorsProcessorTests.java
index 423db1e0eb..9a384031e7 100644
--- a/spring-web/src/test/java/org/springframework/web/cors/reactive/DefaultCorsProcessorTests.java
+++ b/spring-web/src/test/java/org/springframework/web/cors/reactive/DefaultCorsProcessorTests.java
@@ -24,6 +24,7 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.server.ServerWebExchange;
@@ -151,7 +152,8 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestAllOriginsAllowed() throws Exception {
- ServerWebExchange exchange = preFlightRequest().header(ACCESS_CONTROL_REQUEST_METHOD, "GET").toExchange();
+ MockServerHttpRequest request = preFlightRequest().header(ACCESS_CONTROL_REQUEST_METHOD, "GET").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
this.conf.addAllowedOrigin("*");
this.processor.process(this.conf, exchange);
@@ -161,7 +163,8 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestWrongAllowedMethod() throws Exception {
- ServerWebExchange exchange = preFlightRequest().header(ACCESS_CONTROL_REQUEST_METHOD, "DELETE").toExchange();
+ MockServerHttpRequest request = preFlightRequest().header(ACCESS_CONTROL_REQUEST_METHOD, "DELETE").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
this.conf.addAllowedOrigin("*");
this.processor.process(this.conf, exchange);
@@ -170,7 +173,8 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestMatchedAllowedMethod() throws Exception {
- ServerWebExchange exchange = preFlightRequest().header(ACCESS_CONTROL_REQUEST_METHOD, "GET").toExchange();
+ MockServerHttpRequest request = preFlightRequest().header(ACCESS_CONTROL_REQUEST_METHOD, "GET").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
this.conf.addAllowedOrigin("*");
this.processor.process(this.conf, exchange);
@@ -181,7 +185,7 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestTestWithOriginButWithoutOtherHeaders() throws Exception {
- ServerWebExchange exchange = preFlightRequest().toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(preFlightRequest().build());
this.processor.process(this.conf, exchange);
ServerHttpResponse response = exchange.getResponse();
@@ -191,7 +195,8 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestWithoutRequestMethod() throws Exception {
- ServerWebExchange exchange = preFlightRequest().header(ACCESS_CONTROL_REQUEST_HEADERS, "Header1").toExchange();
+ MockServerHttpRequest request = preFlightRequest().header(ACCESS_CONTROL_REQUEST_HEADERS, "Header1").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
this.processor.process(this.conf, exchange);
ServerHttpResponse response = exchange.getResponse();
@@ -201,10 +206,10 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestWithRequestAndMethodHeaderButNoConfig() throws Exception {
- ServerWebExchange exchange = preFlightRequest()
+ ServerWebExchange exchange = MockServerWebExchange.from(preFlightRequest()
.header(ACCESS_CONTROL_REQUEST_METHOD, "GET")
.header(ACCESS_CONTROL_REQUEST_HEADERS, "Header1")
- .toExchange();
+ .build());
this.processor.process(this.conf, exchange);
@@ -215,10 +220,10 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestValidRequestAndConfig() throws Exception {
- ServerWebExchange exchange = preFlightRequest()
+ ServerWebExchange exchange = MockServerWebExchange.from(preFlightRequest()
.header(ACCESS_CONTROL_REQUEST_METHOD, "GET")
.header(ACCESS_CONTROL_REQUEST_HEADERS, "Header1")
- .toExchange();
+ .build());
this.conf.addAllowedOrigin("*");
this.conf.addAllowedMethod("GET");
@@ -239,10 +244,10 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestCredentials() throws Exception {
- ServerWebExchange exchange = preFlightRequest()
+ ServerWebExchange exchange = MockServerWebExchange.from(preFlightRequest()
.header(ACCESS_CONTROL_REQUEST_METHOD, "GET")
.header(ACCESS_CONTROL_REQUEST_HEADERS, "Header1")
- .toExchange();
+ .build());
this.conf.addAllowedOrigin("http://domain1.com");
this.conf.addAllowedOrigin("http://domain2.com");
@@ -262,10 +267,10 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestCredentialsWithOriginWildcard() throws Exception {
- ServerWebExchange exchange = preFlightRequest()
+ ServerWebExchange exchange = MockServerWebExchange.from(preFlightRequest()
.header(ACCESS_CONTROL_REQUEST_METHOD, "GET")
.header(ACCESS_CONTROL_REQUEST_HEADERS, "Header1")
- .toExchange();
+ .build());
this.conf.addAllowedOrigin("http://domain1.com");
this.conf.addAllowedOrigin("*");
@@ -283,10 +288,10 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestAllowedHeaders() throws Exception {
- ServerWebExchange exchange = preFlightRequest()
+ ServerWebExchange exchange = MockServerWebExchange.from(preFlightRequest()
.header(ACCESS_CONTROL_REQUEST_METHOD, "GET")
.header(ACCESS_CONTROL_REQUEST_HEADERS, "Header1, Header2")
- .toExchange();
+ .build());
this.conf.addAllowedHeader("Header1");
this.conf.addAllowedHeader("Header2");
@@ -306,10 +311,10 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestAllowsAllHeaders() throws Exception {
- ServerWebExchange exchange = preFlightRequest()
+ ServerWebExchange exchange = MockServerWebExchange.from(preFlightRequest()
.header(ACCESS_CONTROL_REQUEST_METHOD, "GET")
.header(ACCESS_CONTROL_REQUEST_HEADERS, "Header1, Header2")
- .toExchange();
+ .build());
this.conf.addAllowedHeader("*");
this.conf.addAllowedOrigin("http://domain2.com");
@@ -327,10 +332,10 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestWithEmptyHeaders() throws Exception {
- ServerWebExchange exchange = preFlightRequest()
+ ServerWebExchange exchange = MockServerWebExchange.from(preFlightRequest()
.header(ACCESS_CONTROL_REQUEST_METHOD, "GET")
.header(ACCESS_CONTROL_REQUEST_HEADERS, "")
- .toExchange();
+ .build());
this.conf.addAllowedHeader("*");
this.conf.addAllowedOrigin("http://domain2.com");
@@ -345,7 +350,8 @@ public class DefaultCorsProcessorTests {
@Test
public void preflightRequestWithNullConfig() throws Exception {
- ServerWebExchange exchange = preFlightRequest().header(ACCESS_CONTROL_REQUEST_METHOD, "GET").toExchange();
+ MockServerHttpRequest request = preFlightRequest().header(ACCESS_CONTROL_REQUEST_METHOD, "GET").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
this.conf.addAllowedOrigin("*");
this.processor.process(null, exchange);
@@ -356,7 +362,7 @@ public class DefaultCorsProcessorTests {
private ServerWebExchange actualRequest() {
- return corsRequest(HttpMethod.GET).toExchange();
+ return MockServerWebExchange.from(corsRequest(HttpMethod.GET).build());
}
private MockServerHttpRequest.BaseBuilder> preFlightRequest() {
diff --git a/spring-web/src/test/java/org/springframework/web/cors/reactive/UrlBasedCorsConfigurationSourceTests.java b/spring-web/src/test/java/org/springframework/web/cors/reactive/UrlBasedCorsConfigurationSourceTests.java
index b4b0fefcc7..681c0fe874 100644
--- a/spring-web/src/test/java/org/springframework/web/cors/reactive/UrlBasedCorsConfigurationSourceTests.java
+++ b/spring-web/src/test/java/org/springframework/web/cors/reactive/UrlBasedCorsConfigurationSourceTests.java
@@ -19,8 +19,8 @@ package org.springframework.web.cors.reactive;
import org.junit.Test;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.util.pattern.PathPatternParser;
import static org.junit.Assert.assertEquals;
@@ -40,7 +40,7 @@ public class UrlBasedCorsConfigurationSourceTests {
@Test
public void empty() {
- ServerWebExchange exchange = MockServerHttpRequest.get("/bar/test.html").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/bar/test.html").build());
assertNull(this.configSource.getCorsConfiguration(exchange));
}
@@ -49,10 +49,10 @@ public class UrlBasedCorsConfigurationSourceTests {
CorsConfiguration config = new CorsConfiguration();
this.configSource.registerCorsConfiguration("/bar/**", config);
- ServerWebExchange exchange = MockServerHttpRequest.get("/foo/test.html").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/foo/test.html").build());
assertNull(this.configSource.getCorsConfiguration(exchange));
- exchange = MockServerHttpRequest.get("/bar/test.html").toExchange();
+ exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/bar/test.html").build());
assertEquals(config, this.configSource.getCorsConfiguration(exchange));
}
diff --git a/spring-web/src/test/java/org/springframework/web/filter/reactive/ForwardedHeaderFilterTests.java b/spring-web/src/test/java/org/springframework/web/filter/reactive/ForwardedHeaderFilterTests.java
index 04b0f3a8fb..a3ad0f350e 100644
--- a/spring-web/src/test/java/org/springframework/web/filter/reactive/ForwardedHeaderFilterTests.java
+++ b/spring-web/src/test/java/org/springframework/web/filter/reactive/ForwardedHeaderFilterTests.java
@@ -25,7 +25,7 @@ import reactor.core.publisher.Mono;
import org.springframework.http.HttpHeaders;
import org.springframework.lang.Nullable;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebFilterChain;
@@ -43,13 +43,13 @@ public class ForwardedHeaderFilterTests {
@Test
public void removeOnly() {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/")
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/")
.header("Forwarded", "for=192.0.2.60;proto=http;by=203.0.113.43")
.header("X-Forwarded-Host", "example.com")
.header("X-Forwarded-Port", "8080")
.header("X-Forwarded-Proto", "http")
.header("X-Forwarded-Prefix", "prefix")
- .toExchange();
+ .build());
this.filter.setRemoveOnly(true);
this.filter.filter(exchange, this.filterChain).block(Duration.ZERO);
@@ -65,11 +65,11 @@ public class ForwardedHeaderFilterTests {
@Test
public void xForwardedRequest() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("http://example.com/path")
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("http://example.com/path")
.header("X-Forwarded-Host", "84.198.58.199")
.header("X-Forwarded-Port", "443")
.header("X-Forwarded-Proto", "https")
- .toExchange();
+ .build());
this.filter.filter(exchange, this.filterChain).block(Duration.ZERO);
@@ -79,10 +79,10 @@ public class ForwardedHeaderFilterTests {
@Test
public void forwardedRequest() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("http://example.com/path")
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("http://example.com/path")
.header("Forwarded", "host=84.198.58.199;proto=https")
- .toExchange();
+ .build());
this.filter.filter(exchange, this.filterChain).block(Duration.ZERO);
@@ -92,9 +92,9 @@ public class ForwardedHeaderFilterTests {
@Test
public void requestUriWithForwardedPrefix() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("http://example.com/path")
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("http://example.com/path")
.header("X-Forwarded-Prefix", "/prefix")
- .toExchange();
+ .build());
this.filter.filter(exchange, this.filterChain).block(Duration.ZERO);
@@ -104,9 +104,9 @@ public class ForwardedHeaderFilterTests {
@Test
public void requestUriWithForwardedPrefixTrailingSlash() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("http://example.com/path")
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("http://example.com/path")
.header("X-Forwarded-Prefix", "/prefix/")
- .toExchange();
+ .build());
this.filter.filter(exchange, this.filterChain).block(Duration.ZERO);
diff --git a/spring-web/src/test/java/org/springframework/web/filter/reactive/HiddenHttpMethodFilterTests.java b/spring-web/src/test/java/org/springframework/web/filter/reactive/HiddenHttpMethodFilterTests.java
index 6277f502db..60db704442 100644
--- a/spring-web/src/test/java/org/springframework/web/filter/reactive/HiddenHttpMethodFilterTests.java
+++ b/spring-web/src/test/java/org/springframework/web/filter/reactive/HiddenHttpMethodFilterTests.java
@@ -27,7 +27,7 @@ import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebFilterChain;
@@ -84,10 +84,10 @@ public class HiddenHttpMethodFilterTests {
@Test
public void filterWithHttpPut() {
- ServerWebExchange exchange = MockServerHttpRequest.put("/")
- .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_VALUE)
- .body("_method=DELETE")
- .toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.put("/")
+ .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+ .body("_method=DELETE"));
this.filter.filter(exchange, this.filterChain).block(Duration.ZERO);
assertEquals(HttpMethod.PUT, this.filterChain.getHttpMethod());
@@ -96,10 +96,10 @@ public class HiddenHttpMethodFilterTests {
private Mono postForm(String body) {
- MockServerWebExchange exchange = MockServerHttpRequest.post("/")
- .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_VALUE)
- .body(body)
- .toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.post("/")
+ .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+ .body(body));
return this.filter.filter(exchange, this.filterChain);
}
diff --git a/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeCheckNotModifiedTests.java b/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeCheckNotModifiedTests.java
index 9fc63aa4c2..4afb32b386 100644
--- a/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeCheckNotModifiedTests.java
+++ b/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeCheckNotModifiedTests.java
@@ -34,7 +34,7 @@ import org.junit.runners.Parameterized.Parameters;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -79,7 +79,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
@Test
public void checkNotModifiedNon2xxStatus() {
- MockServerWebExchange exchange = get("/").ifModifiedSince(this.currentDate.toEpochMilli()).toExchange();
+ MockServerHttpRequest request = get("/").ifModifiedSince(this.currentDate.toEpochMilli()).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
exchange.getResponse().setStatusCode(HttpStatus.NOT_MODIFIED);
assertFalse(exchange.checkNotModified(this.currentDate));
@@ -90,7 +91,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
@Test // SPR-14559
public void checkNotModifiedInvalidIfNoneMatchHeader() {
String eTag = "\"etagvalue\"";
- MockServerWebExchange exchange = get("/").ifNoneMatch("missingquotes").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch("missingquotes").build());
assertFalse(exchange.checkNotModified(eTag));
assertNull(exchange.getResponse().getStatusCode());
assertEquals(eTag, exchange.getResponse().getHeaders().getETag());
@@ -98,7 +99,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
@Test
public void checkNotModifiedHeaderAlreadySet() {
- MockServerWebExchange exchange = get("/").ifModifiedSince(currentDate.toEpochMilli()).toExchange();
+ MockServerHttpRequest request = get("/").ifModifiedSince(currentDate.toEpochMilli()).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
exchange.getResponse().getHeaders().add("Last-Modified", CURRENT_TIME);
assertTrue(exchange.checkNotModified(currentDate));
@@ -109,7 +111,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
@Test
public void checkNotModifiedTimestamp() throws Exception {
- MockServerWebExchange exchange = get("/").ifModifiedSince(currentDate.toEpochMilli()).toExchange();
+ MockServerHttpRequest request = get("/").ifModifiedSince(currentDate.toEpochMilli()).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertTrue(exchange.checkNotModified(currentDate));
@@ -120,7 +123,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
@Test
public void checkModifiedTimestamp() {
Instant oneMinuteAgo = currentDate.minusSeconds(60);
- MockServerWebExchange exchange = get("/").ifModifiedSince(oneMinuteAgo.toEpochMilli()).toExchange();
+ MockServerHttpRequest request = get("/").ifModifiedSince(oneMinuteAgo.toEpochMilli()).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertFalse(exchange.checkNotModified(currentDate));
@@ -131,7 +135,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
@Test
public void checkNotModifiedETag() {
String eTag = "\"Foo\"";
- MockServerWebExchange exchange = get("/").ifNoneMatch(eTag).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(eTag).build());
assertTrue(exchange.checkNotModified(eTag));
@@ -142,7 +146,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
@Test
public void checkNotModifiedETagWithSeparatorChars() {
String eTag = "\"Foo, Bar\"";
- MockServerWebExchange exchange = get("/").ifNoneMatch(eTag).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(eTag).build());
assertTrue(exchange.checkNotModified(eTag));
@@ -155,7 +159,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkModifiedETag() {
String currentETag = "\"Foo\"";
String oldEtag = "Bar";
- MockServerWebExchange exchange = get("/").ifNoneMatch(oldEtag).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(oldEtag).build());
assertFalse(exchange.checkNotModified(currentETag));
@@ -167,7 +171,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkNotModifiedUnpaddedETag() {
String eTag = "Foo";
String paddedEtag = String.format("\"%s\"", eTag);
- MockServerWebExchange exchange = get("/").ifNoneMatch(paddedEtag).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(paddedEtag).build());
assertTrue(exchange.checkNotModified(eTag));
@@ -179,7 +183,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkModifiedUnpaddedETag() {
String currentETag = "Foo";
String oldEtag = "Bar";
- MockServerWebExchange exchange = get("/").ifNoneMatch(oldEtag).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(oldEtag).build());
assertFalse(exchange.checkNotModified(currentETag));
@@ -190,7 +194,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
@Test
public void checkNotModifiedWildcardIsIgnored() {
String eTag = "\"Foo\"";
- MockServerWebExchange exchange = get("/").ifNoneMatch("*").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch("*").build());
assertFalse(exchange.checkNotModified(eTag));
assertNull(exchange.getResponse().getStatusCode());
@@ -201,7 +205,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkNotModifiedETagAndTimestamp() {
String eTag = "\"Foo\"";
long time = currentDate.toEpochMilli();
- MockServerWebExchange exchange = get("/").ifNoneMatch(eTag).ifModifiedSince(time).toExchange();
+ MockServerHttpRequest request = get("/").ifNoneMatch(eTag).ifModifiedSince(time).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertTrue(exchange.checkNotModified(eTag, currentDate));
@@ -215,10 +220,10 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkNotModifiedETagAndModifiedTimestamp() {
String eTag = "\"Foo\"";
Instant oneMinuteAgo = currentDate.minusSeconds(60);
- MockServerWebExchange exchange = get("/")
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/")
.ifNoneMatch(eTag)
.ifModifiedSince(oneMinuteAgo.toEpochMilli())
- .toExchange();
+ .build());
assertTrue(exchange.checkNotModified(eTag, currentDate));
@@ -232,7 +237,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
String currentETag = "\"Foo\"";
String oldEtag = "\"Bar\"";
long time = currentDate.toEpochMilli();
- MockServerWebExchange exchange = get("/").ifNoneMatch(oldEtag).ifModifiedSince(time).toExchange();
+ MockServerHttpRequest request = get("/").ifNoneMatch(oldEtag).ifModifiedSince(time).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertFalse(exchange.checkNotModified(currentETag, currentDate));
@@ -245,7 +251,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkNotModifiedETagWeakStrong() {
String eTag = "\"Foo\"";
String weakEtag = String.format("W/%s", eTag);
- MockServerWebExchange exchange = get("/").ifNoneMatch(eTag).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(eTag).build());
assertTrue(exchange.checkNotModified(weakEtag));
@@ -256,7 +262,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
@Test
public void checkNotModifiedETagStrongWeak() {
String eTag = "\"Foo\"";
- MockServerWebExchange exchange = get("/").ifNoneMatch(String.format("W/%s", eTag)).toExchange();
+ MockServerHttpRequest request = get("/").ifNoneMatch(String.format("W/%s", eTag)).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertTrue(exchange.checkNotModified(eTag));
@@ -268,7 +275,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkNotModifiedMultipleETags() {
String eTag = "\"Bar\"";
String multipleETags = String.format("\"Foo\", %s", eTag);
- MockServerWebExchange exchange = get("/").ifNoneMatch(multipleETags).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(multipleETags).build());
assertTrue(exchange.checkNotModified(eTag));
@@ -280,7 +287,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkNotModifiedTimestampWithLengthPart() throws Exception {
long epochTime = dateFormat.parse(CURRENT_TIME).getTime();
String header = "Wed, 09 Apr 2014 09:57:42 GMT; length=13774";
- MockServerWebExchange exchange = get("/").header("If-Modified-Since", header).toExchange();
+ MockServerHttpRequest request = get("/").header("If-Modified-Since", header).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertTrue(exchange.checkNotModified(Instant.ofEpochMilli(epochTime)));
@@ -292,7 +300,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkModifiedTimestampWithLengthPart() throws Exception {
long epochTime = dateFormat.parse(CURRENT_TIME).getTime();
String header = "Tue, 08 Apr 2014 09:57:42 GMT; length=13774";
- MockServerWebExchange exchange = get("/").header("If-Modified-Since", header).toExchange();
+ MockServerHttpRequest request = get("/").header("If-Modified-Since", header).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertFalse(exchange.checkNotModified(Instant.ofEpochMilli(epochTime)));
@@ -304,7 +313,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkNotModifiedTimestampConditionalPut() throws Exception {
Instant oneMinuteAgo = currentDate.minusSeconds(60);
long millis = currentDate.toEpochMilli();
- MockServerWebExchange exchange = MockServerHttpRequest.put("/").ifUnmodifiedSince(millis).toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.put("/").ifUnmodifiedSince(millis).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertFalse(exchange.checkNotModified(oneMinuteAgo));
assertNull(exchange.getResponse().getStatusCode());
@@ -315,7 +325,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests {
public void checkNotModifiedTimestampConditionalPutConflict() throws Exception {
Instant oneMinuteAgo = currentDate.minusSeconds(60);
long millis = oneMinuteAgo.toEpochMilli();
- MockServerWebExchange exchange = MockServerHttpRequest.put("/").ifUnmodifiedSince(millis).toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.put("/").ifUnmodifiedSince(millis).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertTrue(exchange.checkNotModified(currentDate));
assertEquals(412, exchange.getResponse().getStatusCode().value());
diff --git a/spring-web/src/test/java/org/springframework/web/server/adapter/ServerWebExchangeTests.java b/spring-web/src/test/java/org/springframework/web/server/adapter/ServerWebExchangeTests.java
index 38eeaa760a..412a884f84 100644
--- a/spring-web/src/test/java/org/springframework/web/server/adapter/ServerWebExchangeTests.java
+++ b/spring-web/src/test/java/org/springframework/web/server/adapter/ServerWebExchangeTests.java
@@ -20,7 +20,7 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import static org.junit.Assert.*;
@@ -32,10 +32,11 @@ public class ServerWebExchangeTests {
private ServerWebExchange exchange;
+
@Before
public void createExchange() {
MockServerHttpRequest request = MockServerHttpRequest.get("http://example.com").build();
- this.exchange = new MockServerWebExchange(request);
+ this.exchange = MockServerWebExchange.from(request);
}
@Test
diff --git a/spring-web/src/test/java/org/springframework/web/server/handler/ExceptionHandlingWebHandlerTests.java b/spring-web/src/test/java/org/springframework/web/server/handler/ExceptionHandlingWebHandlerTests.java
index 46b8474458..aa907647ba 100644
--- a/spring-web/src/test/java/org/springframework/web/server/handler/ExceptionHandlingWebHandlerTests.java
+++ b/spring-web/src/test/java/org/springframework/web/server/handler/ExceptionHandlingWebHandlerTests.java
@@ -24,6 +24,7 @@ import reactor.test.StepVerifier;
import org.springframework.http.HttpStatus;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebExceptionHandler;
import org.springframework.web.server.WebHandler;
@@ -38,10 +39,11 @@ import static org.junit.Assert.assertNull;
*/
public class ExceptionHandlingWebHandlerTests {
- private final ServerWebExchange exchange = MockServerHttpRequest.get("http://localhost:8080").toExchange();
-
private final WebHandler targetHandler = new StubWebHandler(new IllegalStateException("boo"));
+ private final ServerWebExchange exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.get("http://localhost:8080").build());
+
@Test
public void handleErrorSignal() throws Exception {
diff --git a/spring-web/src/test/java/org/springframework/web/server/handler/FilteringWebHandlerTests.java b/spring-web/src/test/java/org/springframework/web/server/handler/FilteringWebHandlerTests.java
index 5fbbf2887d..0ef7c62225 100644
--- a/spring-web/src/test/java/org/springframework/web/server/handler/FilteringWebHandlerTests.java
+++ b/spring-web/src/test/java/org/springframework/web/server/handler/FilteringWebHandlerTests.java
@@ -28,6 +28,7 @@ import reactor.core.publisher.Mono;
import org.springframework.http.HttpStatus;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
import org.springframework.mock.http.server.reactive.test.MockServerHttpResponse;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebExceptionHandler;
import org.springframework.web.server.WebFilter;
@@ -57,7 +58,7 @@ public class FilteringWebHandlerTests {
StubWebHandler targetHandler = new StubWebHandler();
new FilteringWebHandler(targetHandler, Arrays.asList(filter1, filter2, filter3))
- .handle(MockServerHttpRequest.get("/").toExchange())
+ .handle(MockServerWebExchange.from(MockServerHttpRequest.get("/").build()))
.block(Duration.ZERO);
assertTrue(filter1.invoked());
@@ -72,7 +73,7 @@ public class FilteringWebHandlerTests {
StubWebHandler targetHandler = new StubWebHandler();
new FilteringWebHandler(targetHandler, Collections.emptyList())
- .handle(MockServerHttpRequest.get("/").toExchange())
+ .handle(MockServerWebExchange.from(MockServerHttpRequest.get("/").build()))
.block(Duration.ZERO);
assertTrue(targetHandler.invoked());
@@ -87,7 +88,7 @@ public class FilteringWebHandlerTests {
StubWebHandler targetHandler = new StubWebHandler();
new FilteringWebHandler(targetHandler, Arrays.asList(filter1, filter2, filter3))
- .handle(MockServerHttpRequest.get("/").toExchange())
+ .handle(MockServerWebExchange.from(MockServerHttpRequest.get("/").build()))
.block(Duration.ZERO);
assertTrue(filter1.invoked());
@@ -103,7 +104,7 @@ public class FilteringWebHandlerTests {
StubWebHandler targetHandler = new StubWebHandler();
new FilteringWebHandler(targetHandler, Collections.singletonList(filter))
- .handle(MockServerHttpRequest.get("/").toExchange())
+ .handle(MockServerWebExchange.from(MockServerHttpRequest.get("/").build()))
.block(Duration.ofSeconds(5));
assertTrue(filter.invoked());
diff --git a/spring-web/src/test/java/org/springframework/web/server/handler/ResponseStatusExceptionHandlerTests.java b/spring-web/src/test/java/org/springframework/web/server/handler/ResponseStatusExceptionHandlerTests.java
index 3753f738eb..d0859cdc42 100644
--- a/spring-web/src/test/java/org/springframework/web/server/handler/ResponseStatusExceptionHandlerTests.java
+++ b/spring-web/src/test/java/org/springframework/web/server/handler/ResponseStatusExceptionHandlerTests.java
@@ -24,7 +24,7 @@ import reactor.test.StepVerifier;
import org.springframework.http.HttpStatus;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ResponseStatusException;
import static org.junit.Assert.assertEquals;
@@ -39,7 +39,8 @@ public class ResponseStatusExceptionHandlerTests {
private final ResponseStatusExceptionHandler handler = new ResponseStatusExceptionHandler();
- private final MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ private final MockServerWebExchange exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.get("/").build());
@Test
diff --git a/spring-web/src/test/java/org/springframework/web/server/i18n/AcceptHeaderLocaleContextResolverTests.java b/spring-web/src/test/java/org/springframework/web/server/i18n/AcceptHeaderLocaleContextResolverTests.java
index ee1f6b9f4f..e60b980051 100644
--- a/spring-web/src/test/java/org/springframework/web/server/i18n/AcceptHeaderLocaleContextResolverTests.java
+++ b/spring-web/src/test/java/org/springframework/web/server/i18n/AcceptHeaderLocaleContextResolverTests.java
@@ -23,7 +23,7 @@ import java.util.Locale;
import org.junit.Test;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import static java.util.Locale.*;
@@ -62,34 +62,27 @@ public class AcceptHeaderLocaleContextResolverTests {
this.resolver.setSupportedLocales(Arrays.asList(US, JAPAN));
this.resolver.setDefaultLocale(JAPAN);
- MockServerWebExchange exchange = new MockServerWebExchange(MockServerHttpRequest
- .get("/")
- .acceptLanguageAsLocales(KOREA)
- .build());
+ MockServerHttpRequest request = MockServerHttpRequest.get("/").acceptLanguageAsLocales(KOREA).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertEquals(JAPAN, this.resolver.resolveLocaleContext(exchange).getLocale());
}
@Test
public void defaultLocale() throws Exception {
this.resolver.setDefaultLocale(JAPANESE);
- MockServerWebExchange exchange = new MockServerWebExchange(MockServerHttpRequest
- .get("/")
- .build());
+ MockServerHttpRequest request = MockServerHttpRequest.get("/").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
assertEquals(JAPANESE, this.resolver.resolveLocaleContext(exchange).getLocale());
- exchange = new MockServerWebExchange(MockServerHttpRequest
- .get("/")
- .acceptLanguageAsLocales(US)
- .build());
+ request = MockServerHttpRequest.get("/").acceptLanguageAsLocales(US).build();
+ exchange = MockServerWebExchange.from(request);
assertEquals(US, this.resolver.resolveLocaleContext(exchange).getLocale());
}
private ServerWebExchange exchange(Locale... locales) {
- return new MockServerWebExchange(MockServerHttpRequest
- .get("")
- .acceptLanguageAsLocales(locales)
- .build());
+ MockServerHttpRequest request = MockServerHttpRequest.get("").acceptLanguageAsLocales(locales).build();
+ return MockServerWebExchange.from(request);
}
}
diff --git a/spring-web/src/test/java/org/springframework/web/server/i18n/FixedLocaleContextResolverTests.java b/spring-web/src/test/java/org/springframework/web/server/i18n/FixedLocaleContextResolverTests.java
index 7330d1c64e..3654933f2b 100644
--- a/spring-web/src/test/java/org/springframework/web/server/i18n/FixedLocaleContextResolverTests.java
+++ b/spring-web/src/test/java/org/springframework/web/server/i18n/FixedLocaleContextResolverTests.java
@@ -9,7 +9,7 @@ import org.junit.Test;
import org.springframework.context.i18n.TimeZoneAwareLocaleContext;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import static java.util.Locale.CANADA;
@@ -55,10 +55,8 @@ public class FixedLocaleContextResolverTests {
}
private ServerWebExchange exchange(Locale... locales) {
- return new MockServerWebExchange(MockServerHttpRequest
- .get("")
- .acceptLanguageAsLocales(locales)
- .build());
+ MockServerHttpRequest request = MockServerHttpRequest.get("").acceptLanguageAsLocales(locales).build();
+ return MockServerWebExchange.from(request);
}
}
diff --git a/spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java b/spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java
index ad31462a56..ff614f14f6 100644
--- a/spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java
+++ b/spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java
@@ -18,6 +18,7 @@ package org.springframework.web.server.session;
import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import java.util.Arrays;
@@ -40,7 +41,7 @@ public class HeaderWebSessionIdResolverTests {
@Before
public void setUp() {
this.idResolver = new HeaderWebSessionIdResolver();
- this.exchange = MockServerHttpRequest.get("/path").toExchange();
+ this.exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path").build());
}
@Test
@@ -121,9 +122,9 @@ public class HeaderWebSessionIdResolverTests {
@Test
public void resolveSessionIdsWhenIdThenIdFound() {
String id = "123";
- this.exchange = MockServerHttpRequest.get("/path")
+ this.exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path")
.header(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME, id)
- .toExchange();
+ .build());
List ids = this.idResolver.resolveSessionIds(this.exchange);
@@ -134,9 +135,10 @@ public class HeaderWebSessionIdResolverTests {
public void resolveSessionIdsWhenMultipleIdsThenIdsFound() {
String id1 = "123";
String id2 = "abc";
- this.exchange = MockServerHttpRequest.get("/path")
- .header(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME, id1, id2)
- .toExchange();
+ this.exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.get("/path")
+ .header(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME, id1, id2)
+ .build());
List ids = this.idResolver.resolveSessionIds(this.exchange);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java
index 814b0099c6..5a5e35b1d7 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java
@@ -33,6 +33,7 @@ import org.springframework.core.codec.CharSequenceEncoder;
import org.springframework.http.HttpStatus;
import org.springframework.http.codec.EncoderHttpMessageWriter;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -51,8 +52,10 @@ import org.springframework.web.server.handler.ExceptionHandlingWebHandler;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.startsWith;
import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.*;
-import static org.springframework.http.MediaType.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThat;
+import static org.springframework.http.MediaType.APPLICATION_JSON;
/**
* Test the effect of exceptions at different stages of request processing by
@@ -79,7 +82,8 @@ public class DispatcherHandlerErrorTests {
@Test
public void noHandler() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/does-not-exist").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/does-not-exist").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
Mono publisher = this.dispatcherHandler.handle(exchange);
StepVerifier.create(publisher)
@@ -92,7 +96,8 @@ public class DispatcherHandlerErrorTests {
@Test
public void controllerReturnsMonoError() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/error-signal").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/error-signal").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
Mono publisher = this.dispatcherHandler.handle(exchange);
StepVerifier.create(publisher)
@@ -102,7 +107,8 @@ public class DispatcherHandlerErrorTests {
@Test
public void controllerThrowsException() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/raise-exception").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/raise-exception").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
Mono publisher = this.dispatcherHandler.handle(exchange);
StepVerifier.create(publisher)
@@ -112,7 +118,8 @@ public class DispatcherHandlerErrorTests {
@Test
public void unknownReturnType() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/unknown-return-type").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/unknown-return-type").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
Mono publisher = this.dispatcherHandler.handle(exchange);
StepVerifier.create(publisher)
@@ -125,9 +132,8 @@ public class DispatcherHandlerErrorTests {
@Test
public void responseBodyMessageConversionError() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.post("/request-body")
- .accept(APPLICATION_JSON).body("body")
- .toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.post("/request-body").accept(APPLICATION_JSON).body("body"));
Mono publisher = this.dispatcherHandler.handle(exchange);
@@ -138,9 +144,8 @@ public class DispatcherHandlerErrorTests {
@Test
public void requestBodyError() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.post("/request-body")
- .body(Mono.error(EXCEPTION))
- .toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.post("/request-body").body(Mono.error(EXCEPTION)));
Mono publisher = this.dispatcherHandler.handle(exchange);
@@ -151,7 +156,8 @@ public class DispatcherHandlerErrorTests {
@Test
public void webExceptionHandler() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/unknown-argument-type").toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.get("/unknown-argument-type").build());
List handlers = Collections.singletonList(new ServerError500ExceptionHandler());
WebHandler webHandler = new ExceptionHandlingWebHandler(this.dispatcherHandler, handlers);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerTests.java
index 85adcad752..4ba50fc588 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerTests.java
@@ -28,7 +28,7 @@ import org.springframework.core.Ordered;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.core.io.buffer.DefaultDataBufferFactory;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.method.ResolvableMethod;
import org.springframework.web.server.ServerWebExchange;
@@ -67,7 +67,7 @@ public class DispatcherHandlerTests {
DispatcherHandler dispatcherHandler = new DispatcherHandler(context);
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
dispatcherHandler.handle(exchange).block(Duration.ofSeconds(0));
assertEquals("1", exchange.getResponse().getBodyAsString().block(Duration.ofSeconds(5)));
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/accept/HeaderContentTypeResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/HeaderContentTypeResolverTests.java
index cb61c5cf55..24c9829512 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/accept/HeaderContentTypeResolverTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/HeaderContentTypeResolverTests.java
@@ -22,6 +22,7 @@ import org.junit.Test;
import org.springframework.http.MediaType;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.NotAcceptableStatusException;
import org.springframework.web.server.ServerWebExchange;
@@ -46,8 +47,8 @@ public class HeaderContentTypeResolverTests {
@Test
public void resolveMediaTypes() throws Exception {
String header = "text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c";
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("accept", header).toExchange();
- List mediaTypes = this.resolver.resolveMediaTypes(exchange);
+ MockServerHttpRequest request = MockServerHttpRequest.get("/").header("accept", header).build();
+ List mediaTypes = this.resolver.resolveMediaTypes(MockServerWebExchange.from(request));
assertEquals(4, mediaTypes.size());
assertEquals("text/html", mediaTypes.get(0).toString());
@@ -59,8 +60,8 @@ public class HeaderContentTypeResolverTests {
@Test(expected = NotAcceptableStatusException.class)
public void resolveMediaTypesParseError() throws Exception {
String header = "textplain; q=0.5";
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("accept", header).toExchange();
- this.resolver.resolveMediaTypes(exchange);
+ MockServerHttpRequest request = MockServerHttpRequest.get("/").header("accept", header).build();
+ this.resolver.resolveMediaTypes(MockServerWebExchange.from(request));
}
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/accept/ParameterContentTypeResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/ParameterContentTypeResolverTests.java
index 77e8b46a21..be66299163 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/accept/ParameterContentTypeResolverTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/ParameterContentTypeResolverTests.java
@@ -23,7 +23,7 @@ import org.junit.Test;
import org.springframework.http.MediaType;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.NotAcceptableStatusException;
import org.springframework.web.server.ServerWebExchange;
@@ -38,7 +38,8 @@ public class ParameterContentTypeResolverTests {
@Test
public void noKey() throws Exception {
ParameterContentTypeResolver resolver = new ParameterContentTypeResolver(Collections.emptyMap());
- List mediaTypes = resolver.resolveMediaTypes(MockServerHttpRequest.get("/").toExchange());
+ ServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
+ List mediaTypes = resolver.resolveMediaTypes(exchange);
assertEquals(0, mediaTypes.size());
}
@@ -86,7 +87,7 @@ public class ParameterContentTypeResolverTests {
}
private MockServerWebExchange createExchange(String format) {
- return MockServerHttpRequest.get("/path?format=" + format).toExchange();
+ return MockServerWebExchange.from(MockServerHttpRequest.get("/path?format=" + format).build());
}
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilderTests.java
index 73f5429725..382e57bf64 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilderTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilderTests.java
@@ -22,7 +22,7 @@ import org.junit.Test;
import org.springframework.http.MediaType;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.web.server.ServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import static org.junit.Assert.assertEquals;
@@ -36,7 +36,8 @@ public class RequestedContentTypeResolverBuilderTests {
public void defaultSettings() throws Exception {
RequestedContentTypeResolver resolver = new RequestedContentTypeResolverBuilder().build();
- ServerWebExchange exchange = MockServerHttpRequest.get("/flower").accept(MediaType.IMAGE_GIF).toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/flower").accept(MediaType.IMAGE_GIF).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
List mediaTypes = resolver.resolveMediaTypes(exchange);
assertEquals(Collections.singletonList(MediaType.IMAGE_GIF), mediaTypes);
@@ -49,7 +50,8 @@ public class RequestedContentTypeResolverBuilderTests {
builder.parameterResolver().mediaType("json", MediaType.APPLICATION_JSON);
RequestedContentTypeResolver resolver = builder.build();
- ServerWebExchange exchange = MockServerHttpRequest.get("/flower?format=json").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/flower?format=json").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
List mediaTypes = resolver.resolveMediaTypes(exchange);
assertEquals(Collections.singletonList(MediaType.APPLICATION_JSON), mediaTypes);
@@ -62,8 +64,8 @@ public class RequestedContentTypeResolverBuilderTests {
builder.parameterResolver().mediaType("json", MediaType.APPLICATION_JSON).parameterName("s");
RequestedContentTypeResolver resolver = builder.build();
- ServerWebExchange exchange = MockServerHttpRequest.get("/flower?s=json").toExchange();
- List mediaTypes = resolver.resolveMediaTypes(exchange);
+ MockServerHttpRequest request = MockServerHttpRequest.get("/flower?s=json").build();
+ List mediaTypes = resolver.resolveMediaTypes(MockServerWebExchange.from(request));
assertEquals(Collections.singletonList(MediaType.APPLICATION_JSON), mediaTypes);
}
@@ -75,8 +77,8 @@ public class RequestedContentTypeResolverBuilderTests {
builder.fixedResolver(MediaType.APPLICATION_JSON);
RequestedContentTypeResolver resolver = builder.build();
- ServerWebExchange exchange = MockServerHttpRequest.get("/").accept(MediaType.ALL).toExchange();
- List mediaTypes = resolver.resolveMediaTypes(exchange);
+ MockServerHttpRequest request = MockServerHttpRequest.get("/").accept(MediaType.ALL).build();
+ List mediaTypes = resolver.resolveMediaTypes(MockServerWebExchange.from(request));
assertEquals(Collections.singletonList(MediaType.APPLICATION_JSON), mediaTypes);
}
@@ -88,11 +90,11 @@ public class RequestedContentTypeResolverBuilderTests {
builder.resolver(new FixedContentTypeResolver(MediaType.APPLICATION_JSON));
RequestedContentTypeResolver resolver = builder.build();
- ServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
List mediaTypes = resolver.resolveMediaTypes(exchange);
assertEquals(Collections.singletonList(MediaType.APPLICATION_JSON), mediaTypes);
- exchange = MockServerHttpRequest.get("/").accept(MediaType.ALL).toExchange();
+ exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").accept(MediaType.ALL).build());
mediaTypes = resolver.resolveMediaTypes(exchange);
assertEquals(Collections.singletonList(MediaType.APPLICATION_JSON), mediaTypes);
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/config/ResourceHandlerRegistryTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/ResourceHandlerRegistryTests.java
index d380bd0a8e..8975cc49a5 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/config/ResourceHandlerRegistryTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/config/ResourceHandlerRegistryTests.java
@@ -33,7 +33,7 @@ import org.springframework.core.io.buffer.support.DataBufferTestUtils;
import org.springframework.http.CacheControl;
import org.springframework.http.server.PathContainer;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.reactive.HandlerMapping;
import org.springframework.web.reactive.handler.SimpleUrlHandlerMapping;
import org.springframework.web.reactive.resource.AppCacheManifestTransformer;
@@ -81,7 +81,7 @@ public class ResourceHandlerRegistryTests {
@Test
public void mapPathToLocation() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
exchange.getAttributes().put(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE,
PathContainer.parsePath("/testStylesheet.css"));
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/config/WebFluxConfigurationSupportTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/WebFluxConfigurationSupportTests.java
index e2c9899dcf..f338c225b3 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/config/WebFluxConfigurationSupportTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/config/WebFluxConfigurationSupportTests.java
@@ -41,6 +41,7 @@ import org.springframework.http.codec.ServerCodecConfigurer;
import org.springframework.http.codec.json.Jackson2JsonEncoder;
import org.springframework.http.codec.xml.Jaxb2XmlDecoder;
import org.springframework.http.codec.xml.Jaxb2XmlEncoder;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.util.MimeType;
import org.springframework.util.MimeTypeUtils;
import org.springframework.util.MultiValueMap;
@@ -104,7 +105,7 @@ public class WebFluxConfigurationSupportTests {
RequestedContentTypeResolver resolver = context.getBean(name, RequestedContentTypeResolver.class);
assertSame(resolver, mapping.getContentTypeResolver());
- ServerWebExchange exchange = get("/path").accept(MediaType.APPLICATION_JSON).toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(get("/path").accept(MediaType.APPLICATION_JSON).build());
assertEquals(Collections.singletonList(MediaType.APPLICATION_JSON), resolver.resolveMediaTypes(exchange));
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultEntityResponseBuilderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultEntityResponseBuilderTests.java
index 50d33330f7..7ff3f1c1c7 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultEntityResponseBuilderTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultEntityResponseBuilderTests.java
@@ -43,7 +43,7 @@ import org.springframework.http.codec.EncoderHttpMessageWriter;
import org.springframework.http.codec.HttpMessageWriter;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.reactive.function.BodyInserter;
import org.springframework.web.reactive.result.view.ViewResolver;
@@ -191,17 +191,18 @@ public class DefaultEntityResponseBuilderTests {
Mono>> result = EntityResponse.fromPublisher(publisher, String.class).build();
- MockServerWebExchange exchange = MockServerHttpRequest.get("http://localhost").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
ServerResponse.Context context = new ServerResponse.Context() {
@Override
public List> messageWriters() {
- return Collections.>singletonList(new EncoderHttpMessageWriter<>(CharSequenceEncoder.allMimeTypes()));
+ return Collections.singletonList(new EncoderHttpMessageWriter<>(CharSequenceEncoder.allMimeTypes()));
}
@Override
public List viewResolvers() {
- return Collections.emptyList();
+ return Collections.emptyList();
}
};
StepVerifier.create(result)
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultRenderingResponseTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultRenderingResponseTests.java
index 7d396874d6..4e1672d003 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultRenderingResponseTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultRenderingResponseTests.java
@@ -29,7 +29,7 @@ import reactor.test.StepVerifier;
import org.springframework.http.HttpHeaders;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.reactive.result.view.View;
import org.springframework.web.reactive.result.view.ViewResolver;
@@ -108,7 +108,8 @@ public class DefaultRenderingResponseTests {
Map model = Collections.singletonMap("foo", "bar");
Mono result = RenderingResponse.create("view").modelAttributes(model).build();
- MockServerWebExchange exchange = MockServerHttpRequest.get("http://localhost").toExchange();
+ MockServerHttpRequest build = MockServerHttpRequest.get("http://localhost").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(build);
ViewResolver viewResolver = mock(ViewResolver.class);
View view = mock(View.class);
when(viewResolver.resolveViewName("view", Locale.ENGLISH)).thenReturn(Mono.just(view));
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerRequestTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerRequestTests.java
index 1b90a717d1..081dc6f2e8 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerRequestTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerRequestTests.java
@@ -46,12 +46,12 @@ import org.springframework.http.MediaType;
import org.springframework.http.codec.DecoderHttpMessageReader;
import org.springframework.http.codec.HttpMessageReader;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.server.UnsupportedMediaTypeStatusException;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
import static org.springframework.web.reactive.function.BodyExtractors.toMono;
/**
@@ -72,7 +72,7 @@ public class DefaultServerRequestTests {
public void method() throws Exception {
HttpMethod method = HttpMethod.HEAD;
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(method, "http://example.com").build();
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
assertEquals(method, request.method());
}
@@ -82,7 +82,7 @@ public class DefaultServerRequestTests {
URI uri = URI.create("https://example.com");
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, uri).build();
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
assertEquals(uri, request.uri());
}
@@ -91,7 +91,7 @@ public class DefaultServerRequestTests {
public void uriBuilder() throws Exception {
URI uri = new URI("http", "localhost", "/path", "a=1", null);
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, uri).build();
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
URI result = request.uriBuilder().build();
@@ -105,7 +105,7 @@ public class DefaultServerRequestTests {
@Test
public void attribute() throws Exception {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com").build();
- MockServerWebExchange exchange = new MockServerWebExchange(mockRequest);
+ MockServerWebExchange exchange = MockServerWebExchange.from(mockRequest);
exchange.getAttributes().put("foo", "bar");
DefaultServerRequest request = new DefaultServerRequest(exchange, messageReaders);
@@ -116,7 +116,7 @@ public class DefaultServerRequestTests {
@Test
public void queryParams() throws Exception {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo=bar").build();
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
assertEquals(Optional.of("bar"), request.queryParam("foo"));
}
@@ -124,7 +124,7 @@ public class DefaultServerRequestTests {
@Test
public void emptyQueryParam() throws Exception {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo").build();
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
assertEquals(Optional.of(""), request.queryParam("foo"));
}
@@ -132,7 +132,7 @@ public class DefaultServerRequestTests {
@Test
public void absentQueryParam() throws Exception {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo").build();
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
assertEquals(Optional.empty(), request.queryParam("bar"));
}
@@ -140,7 +140,7 @@ public class DefaultServerRequestTests {
@Test
public void pathVariable() throws Exception {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com").build();
- MockServerWebExchange exchange = new MockServerWebExchange(mockRequest);
+ MockServerWebExchange exchange = MockServerWebExchange.from(mockRequest);
Map pathVariables = Collections.singletonMap("foo", "bar");
exchange.getAttributes().put(RouterFunctions.URI_TEMPLATE_VARIABLES_ATTRIBUTE, pathVariables);
@@ -153,7 +153,7 @@ public class DefaultServerRequestTests {
@Test(expected = IllegalArgumentException.class)
public void pathVariableNotFound() throws Exception {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com").build();
- MockServerWebExchange exchange = new MockServerWebExchange(mockRequest);
+ MockServerWebExchange exchange = MockServerWebExchange.from(mockRequest);
Map pathVariables = Collections.singletonMap("foo", "bar");
exchange.getAttributes().put(RouterFunctions.URI_TEMPLATE_VARIABLES_ATTRIBUTE, pathVariables);
@@ -165,7 +165,7 @@ public class DefaultServerRequestTests {
@Test
public void pathVariables() throws Exception {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com").build();
- MockServerWebExchange exchange = new MockServerWebExchange(mockRequest);
+ MockServerWebExchange exchange = MockServerWebExchange.from(mockRequest);
Map pathVariables = Collections.singletonMap("foo", "bar");
exchange.getAttributes().put(RouterFunctions.URI_TEMPLATE_VARIABLES_ATTRIBUTE, pathVariables);
@@ -193,7 +193,7 @@ public class DefaultServerRequestTests {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo=bar").
headers(httpHeaders).build();
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
ServerRequest.Headers headers = request.headers();
assertEquals(accept, headers.accept());
@@ -208,7 +208,7 @@ public class DefaultServerRequestTests {
HttpCookie cookie = new HttpCookie("foo", "bar");
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com").
cookie(cookie).build();
- MockServerWebExchange exchange = new MockServerWebExchange(mockRequest);
+ MockServerWebExchange exchange = MockServerWebExchange.from(mockRequest);
DefaultServerRequest request = new DefaultServerRequest(exchange, messageReaders);
@@ -231,7 +231,7 @@ public class DefaultServerRequestTests {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo=bar").
headers(httpHeaders).body(body);
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
Mono resultMono = request.body(toMono(String.class));
assertEquals("foo", resultMono.block());
@@ -248,7 +248,7 @@ public class DefaultServerRequestTests {
httpHeaders.setContentType(MediaType.TEXT_PLAIN);
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo=bar").
headers(httpHeaders).body(body);
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
Mono resultMono = request.bodyToMono(String.class);
assertEquals("foo", resultMono.block());
@@ -265,7 +265,7 @@ public class DefaultServerRequestTests {
httpHeaders.setContentType(MediaType.TEXT_PLAIN);
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo=bar").
headers(httpHeaders).body(body);
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
ParameterizedTypeReference typeReference = new ParameterizedTypeReference() {};
Mono resultMono = request.bodyToMono(typeReference);
@@ -283,7 +283,7 @@ public class DefaultServerRequestTests {
httpHeaders.setContentType(MediaType.TEXT_PLAIN);
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo=bar").
headers(httpHeaders).body(body);
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
Flux resultFlux = request.bodyToFlux(String.class);
assertEquals(Collections.singletonList("foo"), resultFlux.collectList().block());
@@ -300,7 +300,7 @@ public class DefaultServerRequestTests {
httpHeaders.setContentType(MediaType.TEXT_PLAIN);
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo=bar").
headers(httpHeaders).body(body);
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
ParameterizedTypeReference typeReference = new ParameterizedTypeReference() {};
Flux resultFlux = request.bodyToFlux(typeReference);
@@ -319,7 +319,7 @@ public class DefaultServerRequestTests {
MockServerHttpRequest mockRequest = MockServerHttpRequest.method(HttpMethod.GET, "http://example.com?foo=bar").
headers(httpHeaders).body(body);
this.messageReaders = Collections.emptyList();
- DefaultServerRequest request = new DefaultServerRequest(mockRequest.toExchange(), messageReaders);
+ DefaultServerRequest request = new DefaultServerRequest(MockServerWebExchange.from(mockRequest), messageReaders);
Flux resultFlux = request.bodyToFlux(String.class);
StepVerifier.create(resultFlux)
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/ResourceHandlerFunctionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/ResourceHandlerFunctionTests.java
index 18b0330c7c..c370b8cceb 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/ResourceHandlerFunctionTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/ResourceHandlerFunctionTests.java
@@ -34,10 +34,12 @@ import org.springframework.http.MediaType;
import org.springframework.http.codec.HttpMessageWriter;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
import org.springframework.mock.http.server.reactive.test.MockServerHttpResponse;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.reactive.result.view.ViewResolver;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* @author Arjen Poutsma
@@ -71,7 +73,7 @@ public class ResourceHandlerFunctionTests {
@Test
public void get() throws IOException {
- MockServerWebExchange exchange = MockServerHttpRequest.get("http://localhost").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("http://localhost").build());
MockServerHttpResponse mockResponse = exchange.getResponse();
ServerRequest request = new DefaultServerRequest(exchange, HandlerStrategies.withDefaults().messageReaders());
@@ -107,7 +109,7 @@ public class ResourceHandlerFunctionTests {
@Test
public void head() throws IOException {
- MockServerWebExchange exchange = MockServerHttpRequest.head("http://localhost").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.head("http://localhost").build());
MockServerHttpResponse mockResponse = exchange.getResponse();
ServerRequest request = new DefaultServerRequest(exchange, HandlerStrategies.withDefaults().messageReaders());
@@ -132,7 +134,7 @@ public class ResourceHandlerFunctionTests {
@Test
public void options() {
- MockServerWebExchange exchange = MockServerHttpRequest.options("http://localhost").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.options("http://localhost").build());
MockServerHttpResponse mockResponse = exchange.getResponse();
ServerRequest request = new DefaultServerRequest(exchange, HandlerStrategies.withDefaults().messageReaders());
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/support/RouterFunctionMappingTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/support/RouterFunctionMappingTests.java
index 231df7589c..c0359a076d 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/support/RouterFunctionMappingTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/support/RouterFunctionMappingTests.java
@@ -30,7 +30,7 @@ import org.springframework.http.codec.DecoderHttpMessageReader;
import org.springframework.http.codec.HttpMessageReader;
import org.springframework.http.codec.ServerCodecConfigurer;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.reactive.config.EnableWebFlux;
import org.springframework.web.reactive.function.server.HandlerFunction;
import org.springframework.web.reactive.function.server.RequestPredicates;
@@ -53,9 +53,8 @@ public class RouterFunctionMappingTests {
@Before
public void setUp() {
- this.messageReaders =
- Collections.singletonList(new DecoderHttpMessageReader<>(new ByteBufferDecoder()));
- this.exchange = new MockServerWebExchange(MockServerHttpRequest.get("http://example.com/match").build());
+ this.messageReaders = Collections.singletonList(new DecoderHttpMessageReader<>(new ByteBufferDecoder()));
+ this.exchange = MockServerWebExchange.from(MockServerHttpRequest.get("http://example.com/match").build());
codecConfigurer = ServerCodecConfigurer.create();
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/handler/CorsUrlHandlerMappingTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/handler/CorsUrlHandlerMappingTests.java
index ddfa3e9add..541a963eaa 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/handler/CorsUrlHandlerMappingTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/handler/CorsUrlHandlerMappingTests.java
@@ -23,6 +23,7 @@ import org.junit.Test;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsConfigurationSource;
import org.springframework.web.server.ServerWebExchange;
@@ -132,11 +133,11 @@ public class CorsUrlHandlerMappingTests {
private ServerWebExchange createExchange(HttpMethod method, String path, String origin) {
- return MockServerHttpRequest
+ return MockServerWebExchange.from(MockServerHttpRequest
.method(method, "http://localhost" + path)
.header("Origin", origin)
.header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET")
- .toExchange();
+ .build());
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java
index 950742bd7b..6d561b6603 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java
@@ -26,6 +26,7 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.http.HttpMethod;
import org.springframework.http.server.PathContainer;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.reactive.HandlerMapping;
import org.springframework.web.server.ServerWebExchange;
@@ -98,7 +99,8 @@ public class SimpleUrlHandlerMappingTests {
}
private void testUrl(String url, Object bean, HandlerMapping handlerMapping, String pathWithinMapping) {
- ServerWebExchange exchange = MockServerHttpRequest.method(HttpMethod.GET, URI.create(url)).toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.method(HttpMethod.GET, URI.create(url)).build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
Object actual = handlerMapping.getHandler(exchange).block();
if (bean != null) {
assertNotNull(actual);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/AppCacheManifestTransformerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/AppCacheManifestTransformerTests.java
index de99f3cd38..05a987ad8d 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/AppCacheManifestTransformerTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/AppCacheManifestTransformerTests.java
@@ -30,8 +30,8 @@ import reactor.core.publisher.Mono;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.util.FileCopyUtils;
-import org.springframework.web.server.ServerWebExchange;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
@@ -79,7 +79,8 @@ public class AppCacheManifestTransformerTests {
@Test
public void noTransformIfExtensionNoMatch() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/static/foobar.file").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/static/foobar.file").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
this.chain = mock(ResourceTransformerChain.class);
Resource resource = mock(Resource.class);
given(resource.getFilename()).willReturn("foobar.file");
@@ -91,7 +92,8 @@ public class AppCacheManifestTransformerTests {
@Test
public void syntaxErrorInManifest() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/static/error.appcache").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/static/error.appcache").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
this.chain = mock(ResourceTransformerChain.class);
Resource resource = new ClassPathResource("test/error.appcache", getClass());
given(this.chain.transform(exchange, resource)).willReturn(Mono.just(resource));
@@ -102,7 +104,8 @@ public class AppCacheManifestTransformerTests {
@Test
public void transformManifest() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/static/test.appcache").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/static/test.appcache").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
VersionResourceResolver versionResolver = new VersionResourceResolver();
versionResolver.setStrategyMap(Collections.singletonMap("/**", new ContentVersionStrategy()));
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CachingResourceResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CachingResourceResolverTests.java
index 80c1c1b330..8024bd9a93 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CachingResourceResolverTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CachingResourceResolverTests.java
@@ -29,7 +29,7 @@ import org.springframework.cache.concurrent.ConcurrentMapCache;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
@@ -71,7 +71,7 @@ public class CachingResourceResolverTests {
public void resolveResourceInternal() {
String file = "bar.css";
Resource expected = new ClassPathResource("test/" + file, getClass());
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
Resource actual = this.chain.resolveResource(exchange, file, this.locations).block(TIMEOUT);
assertEquals(expected, actual);
@@ -84,7 +84,7 @@ public class CachingResourceResolverTests {
this.cache.put(CachingResourceResolver.RESOLVED_RESOURCE_CACHE_KEY_PREFIX + "bar.css", expected);
String file = "bar.css";
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
Resource actual = this.chain.resolveResource(exchange, file, this.locations).block(TIMEOUT);
assertSame(expected, actual);
@@ -92,7 +92,7 @@ public class CachingResourceResolverTests {
@Test
public void resolveResourceInternalNoMatch() {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
assertNull(this.chain.resolveResource(exchange, "invalid.css", this.locations).block(TIMEOUT));
}
@@ -121,8 +121,8 @@ public class CachingResourceResolverTests {
@Test
public void resolveResourceAcceptEncodingInCacheKey() {
String file = "bar.css";
- MockServerWebExchange exchange = MockServerHttpRequest.get(file)
- .header("Accept-Encoding", "gzip").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get(file)
+ .header("Accept-Encoding", "gzip").build());
Resource expected = this.chain.resolveResource(exchange, file, this.locations).block(TIMEOUT);
String cacheKey = CachingResourceResolver.RESOLVED_RESOURCE_CACHE_KEY_PREFIX + file + "+encoding=gzip";
@@ -133,7 +133,7 @@ public class CachingResourceResolverTests {
@Test
public void resolveResourceNoAcceptEncodingInCacheKey() {
String file = "bar.css";
- MockServerWebExchange exchange = MockServerHttpRequest.get(file).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get(file).build());
Resource expected = this.chain.resolveResource(exchange, file, this.locations).block(TIMEOUT);
String cacheKey = CachingResourceResolver.RESOLVED_RESOURCE_CACHE_KEY_PREFIX + file;
@@ -149,10 +149,11 @@ public class CachingResourceResolverTests {
this.cache.put(CachingResourceResolver.RESOLVED_RESOURCE_CACHE_KEY_PREFIX + "bar.css+encoding=gzip", gzResource);
String file = "bar.css";
- MockServerWebExchange exchange = MockServerHttpRequest.get(file).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get(file).build());
assertSame(resource, this.chain.resolveResource(exchange, file, this.locations).block(TIMEOUT));
- exchange = MockServerHttpRequest.get(file).header("Accept-Encoding", "gzip").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get(file).header("Accept-Encoding", "gzip").build();
+ exchange = MockServerWebExchange.from(request);
assertSame(gzResource, this.chain.resolveResource(exchange, file, this.locations).block(TIMEOUT));
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CssLinkResourceTransformerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CssLinkResourceTransformerTests.java
index 1685cbc8aa..3cbcbee8ea 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CssLinkResourceTransformerTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CssLinkResourceTransformerTests.java
@@ -33,7 +33,7 @@ import reactor.test.StepVerifier;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.util.StringUtils;
import static org.junit.Assert.assertEquals;
@@ -76,7 +76,8 @@ public class CssLinkResourceTransformerTests {
@Test
public void transform() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/static/main.css").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/static/main.css").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
Resource css = new ClassPathResource("test/main.css", getClass());
String expected = "\n" +
@@ -98,7 +99,7 @@ public class CssLinkResourceTransformerTests {
@Test
public void transformNoLinks() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/static/foo.css").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/static/foo.css").build());
Resource expected = new ClassPathResource("test/foo.css", getClass());
StepVerifier.create(this.transformerChain.transform(exchange, expected))
.consumeNextWith(resource -> assertSame(expected, resource))
@@ -107,7 +108,7 @@ public class CssLinkResourceTransformerTests {
@Test
public void transformExtLinksNotAllowed() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/static/external.css").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/static/external.css").build());
ResourceResolverChain resolverChain = Mockito.mock(DefaultResourceResolverChain.class);
ResourceTransformerChain transformerChain = new DefaultResourceTransformerChain(resolverChain,
Collections.singletonList(new CssLinkResourceTransformer()));
@@ -133,7 +134,7 @@ public class CssLinkResourceTransformerTests {
@Test
public void transformWithNonCssResource() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/static/images/image.png").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/static/images/image.png").build());
Resource expected = new ClassPathResource("test/images/image.png", getClass());
StepVerifier.create(this.transformerChain.transform(exchange, expected))
.expectNext(expected)
@@ -142,7 +143,7 @@ public class CssLinkResourceTransformerTests {
@Test
public void transformWithGzippedResource() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/static/main.css").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/static/main.css").build());
Resource original = new ClassPathResource("test/main.css", getClass());
createTempCopy("main.css", "main.css.gz");
GzipResourceResolver.GzippedResource expected = new GzipResourceResolver.GzippedResource(original);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/GzipResourceResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/GzipResourceResolverTests.java
index 6ede2c7f11..809052a69f 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/GzipResourceResolverTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/GzipResourceResolverTests.java
@@ -39,7 +39,7 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.util.FileCopyUtils;
import static org.junit.Assert.assertEquals;
@@ -104,8 +104,8 @@ public class GzipResourceResolverTests {
@Test
public void resolveGzippedFile() throws IOException {
- MockServerWebExchange exchange = MockServerHttpRequest.get("")
- .header("Accept-Encoding", "gzip").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("")
+ .header("Accept-Encoding", "gzip").build());
String file = "js/foo.js";
Resource resolved = this.resolver.resolveResource(exchange, file, this.locations).block(TIMEOUT);
@@ -120,8 +120,8 @@ public class GzipResourceResolverTests {
@Test
public void resolveFingerprintedGzippedFile() throws IOException {
- MockServerWebExchange exchange = MockServerHttpRequest.get("")
- .header("Accept-Encoding", "gzip").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("")
+ .header("Accept-Encoding", "gzip").build());
String file = "foo-e36d2e05253c6c7085a91522ce43a0b4.css";
Resource resolved = this.resolver.resolveResource(exchange, file, this.locations).block(TIMEOUT);
@@ -136,8 +136,8 @@ public class GzipResourceResolverTests {
@Test
public void resolveFromCacheWithEncodingVariants() throws IOException {
- MockServerWebExchange exchange = MockServerHttpRequest.get("")
- .header("Accept-Encoding", "gzip").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("")
+ .header("Accept-Encoding", "gzip").build());
String file = "js/foo.js";
Resource resolved = this.resolver.resolveResource(exchange, file, this.locations).block(TIMEOUT);
@@ -151,7 +151,7 @@ public class GzipResourceResolverTests {
// resolved resource is now cached in CachingResourceResolver
- exchange = MockServerHttpRequest.get("/js/foo.js").toExchange();
+ exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/js/foo.js").build());
resolved = this.resolver.resolveResource(exchange, file, this.locations).block(TIMEOUT);
Resource resource = new ClassPathResource("test/"+file, getClass());
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceTransformerSupportTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceTransformerSupportTests.java
index 1fb8cc0ff7..c6720cfde1 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceTransformerSupportTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceTransformerSupportTests.java
@@ -28,7 +28,7 @@ import reactor.core.publisher.Mono;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import static org.junit.Assert.assertEquals;
@@ -71,7 +71,8 @@ public class ResourceTransformerSupportTests {
@Test
public void resolveUrlPath() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/resources/main.css").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/resources/main.css").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
String resourcePath = "/resources/bar.css";
Resource css = new ClassPathResource("test/main.css", getClass());
String actual = this.transformer.resolveUrlPath(
@@ -84,7 +85,7 @@ public class ResourceTransformerSupportTests {
@Test
public void resolveUrlPathWithRelativePath() throws Exception {
Resource css = new ClassPathResource("test/main.css", getClass());
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
String actual = this.transformer.resolveUrlPath(
"bar.css", exchange, css, this.transformerChain).block(Duration.ofSeconds(5));
@@ -94,7 +95,7 @@ public class ResourceTransformerSupportTests {
@Test
public void resolveUrlPathWithRelativePathInParentDirectory() throws Exception {
Resource imagePng = new ClassPathResource("test/images/image.png", getClass());
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
String actual = this.transformer.resolveUrlPath(
"../bar.css", exchange, imagePng, this.transformerChain).block(Duration.ofSeconds(5));
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceUrlProviderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceUrlProviderTests.java
index 2c38db47e1..1081ff45a0 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceUrlProviderTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceUrlProviderTests.java
@@ -34,9 +34,9 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
import org.springframework.mock.web.test.MockServletContext;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.reactive.handler.SimpleUrlHandlerMapping;
-import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.util.pattern.PathPattern;
import static org.junit.Assert.assertEquals;
@@ -72,7 +72,7 @@ public class ResourceUrlProviderTests {
@Test
public void getStaticResourceUrl() {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
String uriString = "/resources/foo.css";
String actual = this.urlProvider.getForUriString(uriString, exchange).block(Duration.ofSeconds(5));
assertEquals(uriString, actual);
@@ -80,7 +80,7 @@ public class ResourceUrlProviderTests {
@Test // SPR-13374
public void getStaticResourceUrlRequestWithQueryOrHash() {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
String url = "/resources/foo.css?foo=bar&url=http://example.org";
String resolvedUrl = this.urlProvider.getForUriString(url, exchange).block(Duration.ofSeconds(5));
@@ -103,7 +103,7 @@ public class ResourceUrlProviderTests {
resolvers.add(new PathResourceResolver());
this.handler.setResourceResolvers(resolvers);
- ServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
String path = "/resources/foo.css";
String url = this.urlProvider.getForUriString(path, exchange).block(Duration.ofSeconds(5));
assertEquals("/resources/foo-e36d2e05253c6c7085a91522ce43a0b4.css", url);
@@ -126,7 +126,7 @@ public class ResourceUrlProviderTests {
this.handlerMap.put("/resources/*.css", otherHandler);
this.urlProvider.registerHandlers(this.handlerMap);
- ServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
String path = "/resources/foo.css";
String url = this.urlProvider.getForUriString(path, exchange).block(Duration.ofSeconds(5));
assertEquals("/resources/foo-e36d2e05253c6c7085a91522ce43a0b4.css", url);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceWebHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceWebHandlerTests.java
index f9e71bf038..59564124ee 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceWebHandlerTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceWebHandlerTests.java
@@ -47,7 +47,7 @@ import org.springframework.http.MediaType;
import org.springframework.http.server.PathContainer;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
import org.springframework.mock.http.server.reactive.test.MockServerHttpResponse;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.util.StringUtils;
import org.springframework.web.reactive.HandlerMapping;
import org.springframework.web.server.MethodNotAllowedException;
@@ -90,7 +90,7 @@ public class ResourceWebHandlerTests {
@Test
public void getResource() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "foo.css");
this.handler.handle(exchange).block(TIMEOUT);
@@ -107,7 +107,7 @@ public class ResourceWebHandlerTests {
@Test
public void getResourceHttpHeader() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.head("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.head("").build());
setPathWithinHandlerMapping(exchange, "foo.css");
this.handler.handle(exchange).block(TIMEOUT);
@@ -128,7 +128,7 @@ public class ResourceWebHandlerTests {
@Test
public void getResourceHttpOptions() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.options("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.options("").build());
setPathWithinHandlerMapping(exchange, "foo.css");
this.handler.handle(exchange).block(TIMEOUT);
@@ -138,7 +138,7 @@ public class ResourceWebHandlerTests {
@Test
public void getResourceNoCache() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "foo.css");
this.handler.setCacheControl(CacheControl.noStore());
this.handler.handle(exchange).block(TIMEOUT);
@@ -158,7 +158,7 @@ public class ResourceWebHandlerTests {
this.handler.setResourceResolvers(Arrays.asList(versionResolver, new PathResourceResolver()));
this.handler.afterPropertiesSet();
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "versionString/foo.css");
this.handler.handle(exchange).block(TIMEOUT);
@@ -169,7 +169,7 @@ public class ResourceWebHandlerTests {
@Test
public void getResourceWithHtmlMediaType() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "foo.html");
this.handler.handle(exchange).block(TIMEOUT);
@@ -184,7 +184,7 @@ public class ResourceWebHandlerTests {
@Test
public void getResourceFromAlternatePath() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "baz.css");
this.handler.handle(exchange).block(TIMEOUT);
@@ -201,21 +201,23 @@ public class ResourceWebHandlerTests {
@Test
public void getResourceFromSubDirectory() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "js/foo.js");
this.handler.handle(exchange).block(TIMEOUT);
- assertEquals(MediaType.parseMediaType("application/javascript"), exchange.getResponse().getHeaders().getContentType());
+ assertEquals(MediaType.parseMediaType("application/javascript"),
+ exchange.getResponse().getHeaders().getContentType());
assertResponseBody(exchange, "function foo() { console.log(\"hello world\"); }");
}
@Test
public void getResourceFromSubDirectoryOfAlternatePath() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "js/baz.js");
this.handler.handle(exchange).block(TIMEOUT);
- assertEquals(MediaType.parseMediaType("application/javascript"), exchange.getResponse().getHeaders().getContentType());
+ HttpHeaders headers = exchange.getResponse().getHeaders();
+ assertEquals(MediaType.parseMediaType("application/javascript"), headers.getContentType());
assertResponseBody(exchange, "function foo() { console.log(\"hello world\"); }");
}
@@ -226,8 +228,8 @@ public class ResourceWebHandlerTests {
handler.setLocations(paths);
handler.afterPropertiesSet();
- MockServerWebExchange exchange = MockServerHttpRequest.get("")
- .header("Accept", "application/json,text/plain,*/*").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("")
+ .header("Accept", "application/json,text/plain,*/*").build());
setPathWithinHandlerMapping(exchange, "foo.html");
handler.handle(exchange).block(TIMEOUT);
@@ -268,7 +270,8 @@ public class ResourceWebHandlerTests {
}
private void testInvalidPath(HttpMethod httpMethod, String requestPath, Resource location) throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.method(httpMethod, "").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.method(httpMethod, "").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, requestPath);
this.handler.handle(exchange).block(TIMEOUT);
if (!location.createRelative(requestPath).exists() && !requestPath.contains(":")) {
@@ -337,8 +340,8 @@ public class ResourceWebHandlerTests {
@Test
public void notModified() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("")
- .ifModifiedSince(resourceLastModified("test/foo.css")).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("")
+ .ifModifiedSince(resourceLastModified("test/foo.css")).build());
setPathWithinHandlerMapping(exchange, "foo.css");
this.handler.handle(exchange).block(TIMEOUT);
assertEquals(HttpStatus.NOT_MODIFIED, exchange.getResponse().getStatusCode());
@@ -347,7 +350,8 @@ public class ResourceWebHandlerTests {
@Test
public void modified() throws Exception {
long timestamp = resourceLastModified("test/foo.css") / 1000 * 1000 - 1;
- MockServerWebExchange exchange = MockServerHttpRequest.get("").ifModifiedSince(timestamp).toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("").ifModifiedSince(timestamp).build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "foo.css");
this.handler.handle(exchange).block(TIMEOUT);
@@ -357,7 +361,7 @@ public class ResourceWebHandlerTests {
@Test
public void directory() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "js/");
this.handler.handle(exchange).block(TIMEOUT);
assertEquals(HttpStatus.NOT_FOUND, exchange.getResponse().getStatusCode());
@@ -365,7 +369,7 @@ public class ResourceWebHandlerTests {
@Test
public void directoryInJarFile() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "underscorejs/");
this.handler.handle(exchange).block(TIMEOUT);
@@ -375,7 +379,7 @@ public class ResourceWebHandlerTests {
@Test
public void missingResourcePath() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
setPathWithinHandlerMapping(exchange, "");
this.handler.handle(exchange).block(TIMEOUT);
assertEquals(HttpStatus.NOT_FOUND, exchange.getResponse().getStatusCode());
@@ -383,13 +387,13 @@ public class ResourceWebHandlerTests {
@Test(expected = IllegalArgumentException.class)
public void noPathWithinHandlerMappingAttribute() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
this.handler.handle(exchange).block(TIMEOUT);
}
@Test(expected = MethodNotAllowedException.class)
public void unsupportedHttpMethod() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.post("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.post("").build());
setPathWithinHandlerMapping(exchange, "foo.css");
this.handler.handle(exchange).block(TIMEOUT);
}
@@ -402,7 +406,8 @@ public class ResourceWebHandlerTests {
}
private void resourceNotFound(HttpMethod httpMethod) throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.method(httpMethod, "").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.method(httpMethod, "").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "not-there.css");
this.handler.handle(exchange).block(TIMEOUT);
assertEquals(HttpStatus.NOT_FOUND, exchange.getResponse().getStatusCode());
@@ -410,7 +415,8 @@ public class ResourceWebHandlerTests {
@Test
public void partialContentByteRange() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").header("Range", "bytes=0-1").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("").header("Range", "bytes=0-1").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "foo.txt");
this.handler.handle(exchange).block(TIMEOUT);
@@ -425,7 +431,8 @@ public class ResourceWebHandlerTests {
@Test
public void partialContentByteRangeNoEnd() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").header("range", "bytes=9-").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("").header("range", "bytes=9-").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "foo.txt");
this.handler.handle(exchange).block(TIMEOUT);
@@ -440,7 +447,8 @@ public class ResourceWebHandlerTests {
@Test
public void partialContentByteRangeLargeEnd() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").header("range", "bytes=9-10000").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("").header("range", "bytes=9-10000").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "foo.txt");
this.handler.handle(exchange).block(TIMEOUT);
@@ -455,7 +463,8 @@ public class ResourceWebHandlerTests {
@Test
public void partialContentSuffixRange() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").header("range", "bytes=-1").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("").header("range", "bytes=-1").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "foo.txt");
this.handler.handle(exchange).block(TIMEOUT);
@@ -470,7 +479,8 @@ public class ResourceWebHandlerTests {
@Test
public void partialContentSuffixRangeLargeSuffix() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").header("range", "bytes=-11").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("").header("range", "bytes=-11").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "foo.txt");
this.handler.handle(exchange).block(TIMEOUT);
@@ -485,7 +495,8 @@ public class ResourceWebHandlerTests {
@Test
public void partialContentInvalidRangeHeader() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").header("range", "bytes=foo bar").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("").header("range", "bytes=foo bar").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "foo.txt");
StepVerifier.create(this.handler.handle(exchange))
@@ -499,7 +510,8 @@ public class ResourceWebHandlerTests {
@Test
public void partialContentMultipleByteRanges() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").header("Range", "bytes=0-1, 4-5, 8-9").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("").header("Range", "bytes=0-1, 4-5, 8-9").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "foo.txt");
this.handler.handle(exchange).block(TIMEOUT);
@@ -542,7 +554,7 @@ public class ResourceWebHandlerTests {
@Test // SPR-14005
public void doOverwriteExistingCacheControlHeaders() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
exchange.getResponse().getHeaders().setCacheControl(CacheControl.noStore().getHeaderValue());
setPathWithinHandlerMapping(exchange, "foo.css");
this.handler.handle(exchange).block(TIMEOUT);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/VersionResourceResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/VersionResourceResolverTests.java
index 4d5896893d..1b8ab8db2e 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/VersionResourceResolverTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/VersionResourceResolverTests.java
@@ -30,6 +30,7 @@ import reactor.core.publisher.Mono;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import static org.hamcrest.Matchers.instanceOf;
@@ -162,7 +163,8 @@ public class VersionResourceResolverTests {
String version = "version";
String file = "bar.css";
Resource expected = new ClassPathResource("test/" + file, getClass());
- ServerWebExchange exchange = MockServerHttpRequest.get("/resources/bar-version.css").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/resources/bar-version.css").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
given(this.chain.resolveResource(exchange, versionFile, this.locations)).willReturn(Mono.empty());
given(this.chain.resolveResource(exchange, file, this.locations)).willReturn(Mono.just(expected));
given(this.versionStrategy.extractVersion(versionFile)).willReturn(version);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/WebJarsResourceResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/WebJarsResourceResolverTests.java
index 19033a6b9b..8f6d1a2dc7 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/resource/WebJarsResourceResolverTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/WebJarsResourceResolverTests.java
@@ -26,6 +26,7 @@ import reactor.core.publisher.Mono;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import static java.util.Collections.singletonList;
@@ -63,7 +64,7 @@ public class WebJarsResourceResolverTests {
this.locations = singletonList(new ClassPathResource("/META-INF/resources/webjars"));
this.resolver = new WebJarsResourceResolver();
this.chain = mock(ResourceResolverChain.class);
- this.exchange = MockServerHttpRequest.get("").toExchange();
+ this.exchange = MockServerWebExchange.from(MockServerHttpRequest.get("").build());
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java
index 7991603327..dbdaacc70c 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java
@@ -25,14 +25,20 @@ import org.junit.Test;
import org.springframework.core.ReactiveAdapterRegistry;
import org.springframework.http.MediaType;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.reactive.HandlerMapping;
import org.springframework.web.reactive.accept.FixedContentTypeResolver;
import org.springframework.web.reactive.accept.HeaderContentTypeResolver;
import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
-import static org.junit.Assert.*;
-import static org.springframework.http.MediaType.*;
+import static org.junit.Assert.assertEquals;
+import static org.springframework.http.MediaType.ALL;
+import static org.springframework.http.MediaType.APPLICATION_JSON_UTF8;
+import static org.springframework.http.MediaType.APPLICATION_OCTET_STREAM;
+import static org.springframework.http.MediaType.IMAGE_GIF;
+import static org.springframework.http.MediaType.IMAGE_JPEG;
+import static org.springframework.http.MediaType.IMAGE_PNG;
+import static org.springframework.http.MediaType.TEXT_PLAIN;
/**
* Unit tests for {@link HandlerResultHandlerSupport}.
@@ -48,7 +54,7 @@ public class HandlerResultHandlerTests {
public void usesContentTypeResolver() throws Exception {
TestResultHandler resultHandler = new TestResultHandler(new FixedContentTypeResolver(IMAGE_GIF));
List mediaTypes = Arrays.asList(IMAGE_JPEG, IMAGE_GIF, IMAGE_PNG);
- MockServerWebExchange exchange = MockServerHttpRequest.get("/path").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path").build());
MediaType actual = resultHandler.selectMediaType(exchange, () -> mediaTypes);
assertEquals(IMAGE_GIF, actual);
@@ -56,7 +62,7 @@ public class HandlerResultHandlerTests {
@Test
public void producibleMediaTypesRequestAttribute() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/path").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path").build());
exchange.getAttributes().put(HandlerMapping.PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, Collections.singleton(IMAGE_GIF));
List mediaTypes = Arrays.asList(IMAGE_JPEG, IMAGE_GIF, IMAGE_PNG);
@@ -67,9 +73,9 @@ public class HandlerResultHandlerTests {
@Test // SPR-9160
public void sortsByQuality() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/path")
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path")
.header("Accept", "text/plain; q=0.5, application/json")
- .toExchange();
+ .build());
List mediaTypes = Arrays.asList(TEXT_PLAIN, APPLICATION_JSON_UTF8);
MediaType actual = this.resultHandler.selectMediaType(exchange, () -> mediaTypes);
@@ -81,7 +87,7 @@ public class HandlerResultHandlerTests {
public void charsetFromAcceptHeader() throws Exception {
MediaType text8859 = MediaType.parseMediaType("text/plain;charset=ISO-8859-1");
MediaType textUtf8 = MediaType.parseMediaType("text/plain;charset=UTF-8");
- MockServerWebExchange exchange = MockServerHttpRequest.get("/path").accept(text8859).toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path").accept(text8859).build());
MediaType actual = this.resultHandler.selectMediaType(exchange, () -> Collections.singletonList(textUtf8));
assertEquals(text8859, actual);
@@ -90,7 +96,7 @@ public class HandlerResultHandlerTests {
@Test // SPR-12894
public void noConcreteMediaType() throws Exception {
List producible = Collections.singletonList(ALL);
- MockServerWebExchange exchange = MockServerHttpRequest.get("/path").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path").build());
MediaType actual = this.resultHandler.selectMediaType(exchange, () -> producible);
assertEquals(APPLICATION_OCTET_STREAM, actual);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/CompositeRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/CompositeRequestConditionTests.java
index 6fdb49a582..324b83921e 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/CompositeRequestConditionTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/CompositeRequestConditionTests.java
@@ -20,7 +20,7 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.bind.annotation.RequestMethod;
import static org.junit.Assert.assertEquals;
@@ -83,7 +83,8 @@ public class CompositeRequestConditionTests {
@Test
public void match() {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/path?param1=paramValue1").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/path?param1=paramValue1").build();
+ MockServerWebExchange exchange = MockServerWebExchange.from(request);
RequestCondition> condition1 = new RequestMethodsRequestCondition(RequestMethod.GET, RequestMethod.POST);
RequestCondition> condition2 = new RequestMethodsRequestCondition(RequestMethod.GET);
@@ -97,20 +98,20 @@ public class CompositeRequestConditionTests {
@Test
public void noMatch() {
CompositeRequestCondition cond = new CompositeRequestCondition(this.param1);
- assertNull(cond.getMatchingCondition(MockServerHttpRequest.get("/").toExchange()));
+ assertNull(cond.getMatchingCondition(MockServerWebExchange.from(MockServerHttpRequest.get("/").build())));
}
@Test
public void matchEmpty() {
CompositeRequestCondition empty = new CompositeRequestCondition();
- assertSame(empty, empty.getMatchingCondition(MockServerHttpRequest.get("/").toExchange()));
+ assertSame(empty, empty.getMatchingCondition(MockServerWebExchange.from(MockServerHttpRequest.get("/").build())));
}
@Test
public void compare() {
CompositeRequestCondition cond1 = new CompositeRequestCondition(this.param1);
CompositeRequestCondition cond3 = new CompositeRequestCondition(this.param3);
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
assertEquals(1, cond1.compareTo(cond3, exchange));
assertEquals(-1, cond3.compareTo(cond1, exchange));
@@ -120,7 +121,7 @@ public class CompositeRequestConditionTests {
public void compareEmpty() {
CompositeRequestCondition empty = new CompositeRequestCondition();
CompositeRequestCondition notEmpty = new CompositeRequestCondition(this.param1);
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
assertEquals(0, empty.compareTo(empty, exchange));
assertEquals(-1, notEmpty.compareTo(empty, exchange));
@@ -131,7 +132,7 @@ public class CompositeRequestConditionTests {
public void compareDifferentLength() {
CompositeRequestCondition cond1 = new CompositeRequestCondition(this.param1);
CompositeRequestCondition cond2 = new CompositeRequestCondition(this.param1, this.header1);
- cond1.compareTo(cond2, MockServerHttpRequest.get("/").toExchange());
+ cond1.compareTo(cond2, MockServerWebExchange.from(MockServerHttpRequest.get("/").build()));
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ConsumesRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ConsumesRequestConditionTests.java
index 31760e9a2c..fd0b5d2a8b 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ConsumesRequestConditionTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ConsumesRequestConditionTests.java
@@ -23,7 +23,7 @@ import org.junit.Test;
import org.springframework.http.HttpHeaders;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.reactive.result.condition.ConsumesRequestCondition.ConsumeMediaTypeExpression;
import static org.junit.Assert.assertEquals;
@@ -101,7 +101,7 @@ public class ConsumesRequestConditionTests {
@Test
public void compareToSingle() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
ConsumesRequestCondition condition1 = new ConsumesRequestCondition("text/plain");
ConsumesRequestCondition condition2 = new ConsumesRequestCondition("text/*");
@@ -115,7 +115,7 @@ public class ConsumesRequestConditionTests {
@Test
public void compareToMultiple() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
ConsumesRequestCondition condition1 = new ConsumesRequestCondition("*/*", "text/plain");
ConsumesRequestCondition condition2 = new ConsumesRequestCondition("text/*", "text/plain;q=0.7");
@@ -188,7 +188,8 @@ public class ConsumesRequestConditionTests {
}
private MockServerWebExchange postExchange(String contentType) {
- return MockServerHttpRequest.post("/").header(HttpHeaders.CONTENT_TYPE, contentType).toExchange();
+ return MockServerWebExchange.from(
+ MockServerHttpRequest.post("/").header(HttpHeaders.CONTENT_TYPE, contentType).build());
}
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/HeadersRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/HeadersRequestConditionTests.java
index c3027776bc..c58ff9adbe 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/HeadersRequestConditionTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/HeadersRequestConditionTests.java
@@ -21,7 +21,7 @@ import java.util.Collection;
import org.junit.Test;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -47,7 +47,7 @@ public class HeadersRequestConditionTests {
@Test
public void headerPresent() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "").build());
HeadersRequestCondition condition = new HeadersRequestCondition("accept");
assertNotNull(condition.getMatchingCondition(exchange));
@@ -55,7 +55,7 @@ public class HeadersRequestConditionTests {
@Test
public void headerPresentNoMatch() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("bar", "").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("bar", "").build());
HeadersRequestCondition condition = new HeadersRequestCondition("foo");
assertNull(condition.getMatchingCondition(exchange));
@@ -63,7 +63,7 @@ public class HeadersRequestConditionTests {
@Test
public void headerNotPresent() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
HeadersRequestCondition condition = new HeadersRequestCondition("!accept");
assertNotNull(condition.getMatchingCondition(exchange));
@@ -71,7 +71,7 @@ public class HeadersRequestConditionTests {
@Test
public void headerValueMatch() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("foo", "bar").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("foo", "bar").build());
HeadersRequestCondition condition = new HeadersRequestCondition("foo=bar");
assertNotNull(condition.getMatchingCondition(exchange));
@@ -79,7 +79,7 @@ public class HeadersRequestConditionTests {
@Test
public void headerValueNoMatch() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("foo", "bazz").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("foo", "bazz").build());
HeadersRequestCondition condition = new HeadersRequestCondition("foo=bar");
assertNull(condition.getMatchingCondition(exchange));
@@ -87,7 +87,7 @@ public class HeadersRequestConditionTests {
@Test
public void headerCaseSensitiveValueMatch() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("foo", "bar").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("foo", "bar").build());
HeadersRequestCondition condition = new HeadersRequestCondition("foo=Bar");
assertNull(condition.getMatchingCondition(exchange));
@@ -95,7 +95,7 @@ public class HeadersRequestConditionTests {
@Test
public void headerValueMatchNegated() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("foo", "baz").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("foo", "baz").build());
HeadersRequestCondition condition = new HeadersRequestCondition("foo!=bar");
assertNotNull(condition.getMatchingCondition(exchange));
@@ -103,7 +103,7 @@ public class HeadersRequestConditionTests {
@Test
public void headerValueNoMatchNegated() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("foo", "bar").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("foo", "bar").build());
HeadersRequestCondition condition = new HeadersRequestCondition("foo!=bar");
assertNull(condition.getMatchingCondition(exchange));
@@ -111,7 +111,7 @@ public class HeadersRequestConditionTests {
@Test
public void compareTo() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
HeadersRequestCondition condition1 = new HeadersRequestCondition("foo", "bar", "baz");
HeadersRequestCondition condition2 = new HeadersRequestCondition("foo", "bar");
@@ -136,7 +136,7 @@ public class HeadersRequestConditionTests {
@Test
public void getMatchingCondition() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("foo", "bar").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("foo", "bar").build());
HeadersRequestCondition condition = new HeadersRequestCondition("foo");
HeadersRequestCondition result = condition.getMatchingCondition(exchange);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ParamsRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ParamsRequestConditionTests.java
index ca4d6a7f78..86ca113818 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ParamsRequestConditionTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ParamsRequestConditionTests.java
@@ -20,7 +20,7 @@ import java.util.Collection;
import org.junit.Test;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import static org.junit.Assert.assertEquals;
@@ -48,42 +48,42 @@ public class ParamsRequestConditionTests {
@Test
public void paramPresent() throws Exception {
ParamsRequestCondition condition = new ParamsRequestCondition("foo");
- assertNotNull(condition.getMatchingCondition(get("/path?foo=").toExchange()));
+ assertNotNull(condition.getMatchingCondition(MockServerWebExchange.from(get("/path?foo=").build())));
}
@Test // SPR-15831
public void paramPresentNullValue() throws Exception {
ParamsRequestCondition condition = new ParamsRequestCondition("foo");
- assertNotNull(condition.getMatchingCondition(get("/path?foo").toExchange()));
+ assertNotNull(condition.getMatchingCondition(MockServerWebExchange.from(get("/path?foo").build())));
}
@Test
public void paramPresentNoMatch() throws Exception {
ParamsRequestCondition condition = new ParamsRequestCondition("foo");
- assertNull(condition.getMatchingCondition(get("/path?bar=").toExchange()));
+ assertNull(condition.getMatchingCondition(MockServerWebExchange.from(get("/path?bar=").build())));
}
@Test
public void paramNotPresent() throws Exception {
- MockServerWebExchange exchange = get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/").build());
assertNotNull(new ParamsRequestCondition("!foo").getMatchingCondition(exchange));
}
@Test
public void paramValueMatch() throws Exception {
ParamsRequestCondition condition = new ParamsRequestCondition("foo=bar");
- assertNotNull(condition.getMatchingCondition(get("/path?foo=bar").toExchange()));
+ assertNotNull(condition.getMatchingCondition(MockServerWebExchange.from(get("/path?foo=bar").build())));
}
@Test
public void paramValueNoMatch() throws Exception {
ParamsRequestCondition condition = new ParamsRequestCondition("foo=bar");
- assertNull(condition.getMatchingCondition(get("/path?foo=bazz").toExchange()));
+ assertNull(condition.getMatchingCondition(MockServerWebExchange.from(get("/path?foo=bazz").build())));
}
@Test
public void compareTo() throws Exception {
- ServerWebExchange exchange = get("/").toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(get("/").build());
ParamsRequestCondition condition1 = new ParamsRequestCondition("foo", "bar", "baz");
ParamsRequestCondition condition2 = new ParamsRequestCondition("foo", "bar");
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java
index 1fa25d2d51..45bf919930 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java
@@ -22,7 +22,7 @@ import java.util.stream.Collectors;
import org.junit.Test;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.util.pattern.PathPattern;
import org.springframework.web.util.pattern.PathPatternParser;
@@ -80,7 +80,8 @@ public class PatternsRequestConditionTests {
@Test
public void matchDirectPath() throws Exception {
PatternsRequestCondition condition = createPatternsCondition("/foo");
- PatternsRequestCondition match = condition.getMatchingCondition(get("/foo").toExchange());
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/foo").build());
+ PatternsRequestCondition match = condition.getMatchingCondition(exchange);
assertNotNull(match);
}
@@ -88,7 +89,8 @@ public class PatternsRequestConditionTests {
@Test
public void matchPattern() throws Exception {
PatternsRequestCondition condition = createPatternsCondition("/foo/*");
- PatternsRequestCondition match = condition.getMatchingCondition(get("/foo/bar").toExchange());
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/foo/bar").build());
+ PatternsRequestCondition match = condition.getMatchingCondition(exchange);
assertNotNull(match);
}
@@ -96,7 +98,8 @@ public class PatternsRequestConditionTests {
@Test
public void matchSortPatterns() throws Exception {
PatternsRequestCondition condition = createPatternsCondition("/*/*", "/foo/bar", "/foo/*");
- PatternsRequestCondition match = condition.getMatchingCondition(get("/foo/bar").toExchange());
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/foo/bar").build());
+ PatternsRequestCondition match = condition.getMatchingCondition(exchange);
PatternsRequestCondition expected = createPatternsCondition("/foo/bar", "/foo/*", "/*/*");
assertEquals(expected, match);
@@ -104,7 +107,7 @@ public class PatternsRequestConditionTests {
@Test
public void matchTrailingSlash() throws Exception {
- MockServerWebExchange exchange = get("/foo/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/foo/").build());
PatternsRequestCondition condition = createPatternsCondition("/foo");
PatternsRequestCondition match = condition.getMatchingCondition(exchange);
@@ -123,7 +126,7 @@ public class PatternsRequestConditionTests {
PathPatternParser parser = new PathPatternParser();
parser.setMatchOptionalTrailingSeparator(false);
condition = new PatternsRequestCondition(parser.parse("/foo"));
- match = condition.getMatchingCondition(get("/foo/").toExchange());
+ match = condition.getMatchingCondition(MockServerWebExchange.from(get("/foo/").build()));
assertNull(match);
}
@@ -131,7 +134,8 @@ public class PatternsRequestConditionTests {
@Test
public void matchPatternContainsExtension() throws Exception {
PatternsRequestCondition condition = createPatternsCondition("/foo.jpg");
- PatternsRequestCondition match = condition.getMatchingCondition(get("/foo.html").toExchange());
+ MockServerWebExchange exchange = MockServerWebExchange.from(get("/foo.html").build());
+ PatternsRequestCondition match = condition.getMatchingCondition(exchange);
assertNull(match);
}
@@ -141,7 +145,7 @@ public class PatternsRequestConditionTests {
PatternsRequestCondition c1 = createPatternsCondition("/foo*");
PatternsRequestCondition c2 = createPatternsCondition("/foo*");
- assertEquals(0, c1.compareTo(c2, get("/foo").toExchange()));
+ assertEquals(0, c1.compareTo(c2, MockServerWebExchange.from(get("/foo").build())));
}
@Test
@@ -155,7 +159,7 @@ public class PatternsRequestConditionTests {
@Test
public void comparePatternSpecificity() throws Exception {
- ServerWebExchange exchange = get("/foo").toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(get("/foo").build());
PatternsRequestCondition c1 = createPatternsCondition("/fo*");
PatternsRequestCondition c2 = createPatternsCondition("/foo");
@@ -170,7 +174,7 @@ public class PatternsRequestConditionTests {
@Test
public void compareNumberOfMatchingPatterns() throws Exception {
- ServerWebExchange exchange = get("/foo.html").toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(get("/foo.html").build());
PatternsRequestCondition c1 = createPatternsCondition("/foo.*", "/foo.jpeg");
PatternsRequestCondition c2 = createPatternsCondition("/foo.*", "/foo.html");
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ProducesRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ProducesRequestConditionTests.java
index 221e92dc9f..5c3aa706f7 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ProducesRequestConditionTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ProducesRequestConditionTests.java
@@ -22,7 +22,7 @@ import java.util.Collections;
import org.junit.Test;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.server.ServerWebExchange;
import static org.junit.Assert.assertEquals;
@@ -41,7 +41,7 @@ public class ProducesRequestConditionTests {
@Test
public void match() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "text/plain").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "text/plain").build());
ProducesRequestCondition condition = new ProducesRequestCondition("text/plain");
assertNotNull(condition.getMatchingCondition(exchange));
@@ -49,7 +49,7 @@ public class ProducesRequestConditionTests {
@Test
public void matchNegated() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "text/plain").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "text/plain").build());
ProducesRequestCondition condition = new ProducesRequestCondition("!text/plain");
assertNull(condition.getMatchingCondition(exchange));
@@ -63,7 +63,7 @@ public class ProducesRequestConditionTests {
@Test
public void matchWildcard() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "text/plain").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "text/plain").build());
ProducesRequestCondition condition = new ProducesRequestCondition("text/*");
assertNotNull(condition.getMatchingCondition(exchange));
@@ -71,7 +71,7 @@ public class ProducesRequestConditionTests {
@Test
public void matchMultiple() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "text/plain").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "text/plain").build());
ProducesRequestCondition condition = new ProducesRequestCondition("text/plain", "application/xml");
assertNotNull(condition.getMatchingCondition(exchange));
@@ -79,7 +79,7 @@ public class ProducesRequestConditionTests {
@Test
public void matchSingle() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "application/xml").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "application/xml").build());
ProducesRequestCondition condition = new ProducesRequestCondition("text/plain");
assertNull(condition.getMatchingCondition(exchange));
@@ -87,7 +87,7 @@ public class ProducesRequestConditionTests {
@Test
public void matchParseError() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "bogus").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "bogus").build());
ProducesRequestCondition condition = new ProducesRequestCondition("text/plain");
assertNull(condition.getMatchingCondition(exchange));
@@ -95,7 +95,7 @@ public class ProducesRequestConditionTests {
@Test
public void matchParseErrorWithNegation() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "bogus").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "bogus").build());
ProducesRequestCondition condition = new ProducesRequestCondition("!text/plain");
assertNull(condition.getMatchingCondition(exchange));
@@ -107,7 +107,7 @@ public class ProducesRequestConditionTests {
ProducesRequestCondition xml = new ProducesRequestCondition("application/xml");
ProducesRequestCondition none = new ProducesRequestCondition();
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "application/xml, text/html").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "application/xml, text/html").build());
assertTrue(html.compareTo(xml, exchange) > 0);
assertTrue(xml.compareTo(html, exchange) < 0);
@@ -116,18 +116,21 @@ public class ProducesRequestConditionTests {
assertTrue(html.compareTo(none, exchange) < 0);
assertTrue(none.compareTo(html, exchange) > 0);
- exchange = MockServerHttpRequest.get("/").header("Accept", "application/xml, text/*").toExchange();
+ exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.get("/").header("Accept", "application/xml, text/*").build());
assertTrue(html.compareTo(xml, exchange) > 0);
assertTrue(xml.compareTo(html, exchange) < 0);
- exchange = MockServerHttpRequest.get("/").header("Accept", "application/pdf").toExchange();
+ exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.get("/").header("Accept", "application/pdf").build());
assertTrue(html.compareTo(xml, exchange) == 0);
assertTrue(xml.compareTo(html, exchange) == 0);
// See SPR-7000
- exchange = MockServerHttpRequest.get("/").header("Accept", "text/html;q=0.9,application/xml").toExchange();
+ exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.get("/").header("Accept", "text/html;q=0.9,application/xml").build());
assertTrue(html.compareTo(xml, exchange) > 0);
assertTrue(xml.compareTo(html, exchange) < 0);
@@ -135,7 +138,7 @@ public class ProducesRequestConditionTests {
@Test
public void compareToWithSingleExpression() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "text/plain").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "text/plain").build());
ProducesRequestCondition condition1 = new ProducesRequestCondition("text/plain");
ProducesRequestCondition condition2 = new ProducesRequestCondition("text/*");
@@ -152,7 +155,7 @@ public class ProducesRequestConditionTests {
ProducesRequestCondition condition1 = new ProducesRequestCondition("*/*", "text/plain");
ProducesRequestCondition condition2 = new ProducesRequestCondition("text/*", "text/plain;q=0.7");
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "text/plain").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "text/plain").build());
int result = condition1.compareTo(condition2, exchange);
assertTrue("Invalid comparison result: " + result, result < 0);
@@ -166,7 +169,8 @@ public class ProducesRequestConditionTests {
ProducesRequestCondition condition1 = new ProducesRequestCondition("text/*", "text/plain");
ProducesRequestCondition condition2 = new ProducesRequestCondition("application/*", "application/xml");
- ServerWebExchange exchange = get("/").header("Accept", "text/plain", "application/xml").toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(
+ get("/").header("Accept", "text/plain", "application/xml").build());
int result = condition1.compareTo(condition2, exchange);
assertTrue("Invalid comparison result: " + result, result < 0);
@@ -174,7 +178,8 @@ public class ProducesRequestConditionTests {
result = condition2.compareTo(condition1, exchange);
assertTrue("Invalid comparison result: " + result, result > 0);
- exchange = MockServerHttpRequest.get("/").header("Accept", "application/xml", "text/plain").toExchange();
+ exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.get("/").header("Accept", "application/xml", "text/plain").build());
result = condition1.compareTo(condition2, exchange);
assertTrue("Invalid comparison result: " + result, result > 0);
@@ -187,7 +192,7 @@ public class ProducesRequestConditionTests {
@Test
public void compareToMediaTypeAll() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
ProducesRequestCondition condition1 = new ProducesRequestCondition();
ProducesRequestCondition condition2 = new ProducesRequestCondition("application/json");
@@ -203,7 +208,8 @@ public class ProducesRequestConditionTests {
assertTrue(condition1.compareTo(condition2, exchange) < 0);
assertTrue(condition2.compareTo(condition1, exchange) > 0);
- exchange = MockServerHttpRequest.get("/").header("Accept", "*/*").toExchange();
+ exchange = MockServerWebExchange.from(
+ MockServerHttpRequest.get("/").header("Accept", "*/*").build());
condition1 = new ProducesRequestCondition();
condition2 = new ProducesRequestCondition("application/json");
@@ -222,7 +228,7 @@ public class ProducesRequestConditionTests {
@Test
public void compareToMediaTypeAllWithParameter() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "*/*;q=0.9").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "*/*;q=0.9").build());
ProducesRequestCondition condition1 = new ProducesRequestCondition();
ProducesRequestCondition condition2 = new ProducesRequestCondition("application/json");
@@ -233,7 +239,7 @@ public class ProducesRequestConditionTests {
@Test
public void compareToEqualMatch() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "text/*").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "text/*").build());
ProducesRequestCondition condition1 = new ProducesRequestCondition("text/plain");
ProducesRequestCondition condition2 = new ProducesRequestCondition("text/xhtml");
@@ -274,7 +280,7 @@ public class ProducesRequestConditionTests {
@Test
public void getMatchingCondition() throws Exception {
- ServerWebExchange exchange = MockServerHttpRequest.get("/").header("Accept", "text/plain").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("Accept", "text/plain").build());
ProducesRequestCondition condition = new ProducesRequestCondition("text/plain", "application/xml");
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestConditionHolderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestConditionHolderTests.java
index 8b3d3e3710..a9c265e578 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestConditionHolderTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestConditionHolderTests.java
@@ -19,7 +19,7 @@ package org.springframework.web.reactive.result.condition;
import org.junit.Test;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.bind.annotation.RequestMethod;
import static org.junit.Assert.assertEquals;
@@ -34,7 +34,7 @@ import static org.junit.Assert.assertSame;
*/
public class RequestConditionHolderTests {
- private final MockServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
+ private final MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
@Test
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java
index 14c95e01b4..24911dc248 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java
@@ -29,7 +29,7 @@ import org.junit.rules.ExpectedException;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
-import org.springframework.mock.http.server.reactive.test.MockServerWebExchange;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.reactive.result.method.RequestMappingInfo;
import org.springframework.web.server.ServerWebExchange;
@@ -87,7 +87,7 @@ public class RequestMappingInfoTests {
@Test
public void matchPatternsCondition() {
- MockServerWebExchange exchange = MockServerHttpRequest.get("/foo").toExchange();
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/foo").build());
RequestMappingInfo info = paths("/foo*", "/bar").build();
RequestMappingInfo expected = paths("/foo*").build();
@@ -102,7 +102,8 @@ public class RequestMappingInfoTests {
@Test
public void matchParamsCondition() {
- ServerWebExchange exchange = MockServerHttpRequest.get("/foo?foo=bar").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/foo?foo=bar").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
RequestMappingInfo info = paths("/foo").params("foo=bar").build();
RequestMappingInfo match = info.getMatchingCondition(exchange);
@@ -117,7 +118,8 @@ public class RequestMappingInfoTests {
@Test
public void matchHeadersCondition() {
- ServerWebExchange exchange = MockServerHttpRequest.get("/foo").header("foo", "bar").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/foo").header("foo", "bar").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
RequestMappingInfo info = paths("/foo").headers("foo=bar").build();
RequestMappingInfo match = info.getMatchingCondition(exchange);
@@ -132,7 +134,8 @@ public class RequestMappingInfoTests {
@Test
public void matchConsumesCondition() {
- ServerWebExchange exchange = MockServerHttpRequest.post("/foo").contentType(MediaType.TEXT_PLAIN).toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.post("/foo").contentType(MediaType.TEXT_PLAIN).build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
RequestMappingInfo info = paths("/foo").consumes("text/plain").build();
RequestMappingInfo match = info.getMatchingCondition(exchange);
@@ -147,7 +150,8 @@ public class RequestMappingInfoTests {
@Test
public void matchProducesCondition() {
- ServerWebExchange exchange = MockServerHttpRequest.get("/foo").accept(MediaType.TEXT_PLAIN).toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/foo").accept(MediaType.TEXT_PLAIN).build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
RequestMappingInfo info = paths("/foo").produces("text/plain").build();
RequestMappingInfo match = info.getMatchingCondition(exchange);
@@ -162,7 +166,8 @@ public class RequestMappingInfoTests {
@Test
public void matchCustomCondition() {
- ServerWebExchange exchange = MockServerHttpRequest.get("/foo?foo=bar").toExchange();
+ MockServerHttpRequest request = MockServerHttpRequest.get("/foo?foo=bar").build();
+ ServerWebExchange exchange = MockServerWebExchange.from(request);
RequestMappingInfo info = paths("/foo").params("foo=bar").build();
RequestMappingInfo match = info.getMatchingCondition(exchange);
@@ -183,7 +188,7 @@ public class RequestMappingInfoTests {
RequestMappingInfo oneMethod = paths().methods(RequestMethod.GET).build();
RequestMappingInfo oneMethodOneParam = paths().methods(RequestMethod.GET).params("foo").build();
- ServerWebExchange exchange = MockServerHttpRequest.get("/foo").toExchange();
+ ServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/foo").build());
Comparator comparator = (info, otherInfo) -> info.compareTo(otherInfo, exchange);
List list = asList(none, oneMethod, oneMethodOneParam);
@@ -279,10 +284,10 @@ public class RequestMappingInfoTests {
@Test
@Ignore
public void preFlightRequest() throws Exception {
- MockServerWebExchange exchange = MockServerHttpRequest.options("/foo")
+ MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.options("/foo")
.header("Origin", "http://domain.com")
.header(HttpHeaders.ACCESS_CONTROL_REQUEST_HEADERS, "POST")
- .toExchange();
+ .build());
RequestMappingInfo info = paths("/foo").methods(RequestMethod.POST).build();
RequestMappingInfo match = info.getMatchingCondition(exchange);
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestConditionTests.java
index 1a4db5ec27..60951d7e74 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestConditionTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestConditionTests.java
@@ -25,6 +25,7 @@ import org.junit.Test;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.server.ServerWebExchange;
@@ -138,7 +139,7 @@ public class RequestMethodsRequestConditionTests {
}
private ServerWebExchange getExchange(String method) throws URISyntaxException {
- return MockServerHttpRequest.method(HttpMethod.valueOf(method), "/").toExchange();
+ return MockServerWebExchange.from(MockServerHttpRequest.method(HttpMethod.valueOf(method), "/").build());
}
}
diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java
index ae311f1230..15a9f8d0e0 100644
--- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java
+++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java
@@ -27,6 +27,7 @@ import reactor.test.StepVerifier;
import org.springframework.http.server.PathContainer;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
+import org.springframework.mock.web.test.server.MockServerWebExchange;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.method.HandlerMethod;
@@ -74,7 +75,8 @@ public class HandlerMethodMappingTests {
public void directMatch() throws Exception {
String key = "foo";
this.mapping.registerMapping(key, this.handler, this.method1);
- Mono