diff --git a/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeTests.java b/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeTests.java new file mode 100644 index 0000000000..40beb8ac6a --- /dev/null +++ b/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeTests.java @@ -0,0 +1,71 @@ +/* + * Copyright 2002-2018 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.server.adapter; + +import org.junit.Test; + +import org.springframework.http.codec.ServerCodecConfigurer; +import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest; +import org.springframework.mock.http.server.reactive.test.MockServerHttpResponse; +import org.springframework.web.server.ServerWebExchange; +import org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver; +import org.springframework.web.server.session.DefaultWebSessionManager; + +import static org.junit.Assert.*; + +/** + * Unit tests for {@link DefaultServerWebExchange}. + * + * @author Arjen Poutsma + * @author Rossen Stoyanchev + */ +public class DefaultServerWebExchangeTests { + + @Test + public void transformUrlDefault() { + ServerWebExchange exchange = createExchange(); + assertEquals("/foo", exchange.transformUrl("/foo")); + } + + @Test + public void transformUrlWithEncoder() { + ServerWebExchange exchange = createExchange(); + exchange.addUrlTransformer(s -> s + "?nonce=123"); + assertEquals("/foo?nonce=123", exchange.transformUrl("/foo")); + } + + @Test + public void transformUrlWithMultipleEncoders() { + ServerWebExchange exchange = createExchange(); + exchange.addUrlTransformer(s -> s + ";p=abc"); + exchange.addUrlTransformer(s -> s + "?q=123"); + assertEquals("/foo;p=abc?q=123", exchange.transformUrl("/foo")); + } + + + private DefaultServerWebExchange createExchange() { + MockServerHttpRequest request = MockServerHttpRequest.get("http://example.com").build(); + return createExchange(request); + } + + private DefaultServerWebExchange createExchange(MockServerHttpRequest request) { + return new DefaultServerWebExchange(request, new MockServerHttpResponse(), + new DefaultWebSessionManager(), ServerCodecConfigurer.create(), + new AcceptHeaderLocaleContextResolver()); + } + +} \ No newline at end of file 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 deleted file mode 100644 index 4230038c3f..0000000000 --- a/spring-web/src/test/java/org/springframework/web/server/adapter/ServerWebExchangeTests.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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.server.adapter; - -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 static org.junit.Assert.*; - -/** - * @author Arjen Poutsma - */ -public class ServerWebExchangeTests { - - private ServerWebExchange exchange; - - - @Before - public void createExchange() { - this.exchange = MockServerWebExchange.from(MockServerHttpRequest.get("http://example.com")); - } - - @Test - public void transformUrlDefault() throws Exception { - assertEquals("/foo", this.exchange.transformUrl("/foo")); - } - - @Test - public void transformUrlWithEncoder() throws Exception { - this.exchange.addUrlTransformer(s -> s + "?nonce=123"); - assertEquals("/foo?nonce=123", this.exchange.transformUrl("/foo")); - } - - @Test - public void transformUrlWithMultipleEncoders() throws Exception { - this.exchange.addUrlTransformer(s -> s + ";p=abc"); - this.exchange.addUrlTransformer(s -> s + "?q=123"); - assertEquals("/foo;p=abc?q=123", this.exchange.transformUrl("/foo")); - } - - -} \ No newline at end of file