diff --git a/spring-web/src/test/java/org/springframework/http/codec/multipart/SynchronossMultipartHttpMessageReaderTests.java b/spring-web/src/test/java/org/springframework/http/codec/multipart/SynchronossMultipartHttpMessageReaderTests.java index ab08bef41a..194e2ba3b7 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/multipart/SynchronossMultipartHttpMessageReaderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/multipart/SynchronossMultipartHttpMessageReaderTests.java @@ -39,23 +39,17 @@ import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; -import static java.util.Collections.emptyMap; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.springframework.core.ResolvableType.forClassWithGenerics; -import static org.springframework.http.HttpHeaders.CONTENT_LENGTH; -import static org.springframework.http.HttpHeaders.CONTENT_TYPE; -import static org.springframework.http.MediaType.MULTIPART_FORM_DATA; - +import static java.util.Collections.*; +import static org.junit.Assert.*; +import static org.springframework.http.HttpHeaders.*; +import static org.springframework.http.MediaType.*; /** * @author Sebastien Deleuze */ public class SynchronossMultipartHttpMessageReaderTests { - private final HttpMessageReader> reader = - new SynchronossMultipartHttpMessageReader(); + private final HttpMessageReader> reader = new SynchronossMultipartHttpMessageReader(); @Test @@ -84,7 +78,7 @@ public class SynchronossMultipartHttpMessageReaderTests { @Test public void resolveParts() throws IOException { ServerHttpRequest request = generateMultipartRequest(); - ResolvableType elementType = forClassWithGenerics(MultiValueMap.class, String.class, Part.class); + ResolvableType elementType = ResolvableType.forClassWithGenerics(MultiValueMap.class, String.class, Part.class); MultiValueMap parts = this.reader.readMono(elementType, request, emptyMap()).block(); assertEquals(2, parts.size()); @@ -98,7 +92,7 @@ public class SynchronossMultipartHttpMessageReaderTests { assertEquals(12, buffer.readableByteCount()); byte[] byteContent = new byte[12]; buffer.read(byteContent); - assertEquals("Lorem\nIpsum\n", new String(byteContent)); + assertEquals("Lorem Ipsum.", new String(byteContent)); assertTrue(parts.containsKey("barPart")); part = parts.getFirst("barPart"); @@ -111,10 +105,11 @@ public class SynchronossMultipartHttpMessageReaderTests { @Test public void bodyError() { ServerHttpRequest request = generateErrorMultipartRequest(); - ResolvableType elementType = forClassWithGenerics(MultiValueMap.class, String.class, Part.class); + ResolvableType elementType = ResolvableType.forClassWithGenerics(MultiValueMap.class, String.class, Part.class); StepVerifier.create(this.reader.readMono(elementType, request, emptyMap())).verifyError(); } + private ServerHttpRequest generateMultipartRequest() throws IOException { HttpHeaders fooHeaders = new HttpHeaders(); fooHeaders.setContentType(MediaType.TEXT_PLAIN); diff --git a/spring-web/src/test/java/org/springframework/http/server/reactive/MultipartIntegrationTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/MultipartIntegrationTests.java index d7f8bb80d3..ed06e67c63 100644 --- a/spring-web/src/test/java/org/springframework/http/server/reactive/MultipartIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/http/server/reactive/MultipartIntegrationTests.java @@ -19,7 +19,6 @@ package org.springframework.http.server.reactive; import java.net.URI; import java.util.Optional; -import static org.junit.Assert.*; import org.junit.Test; import reactor.core.publisher.Mono; @@ -31,20 +30,24 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; +import org.springframework.http.codec.multipart.Part; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; -import org.springframework.http.codec.multipart.Part; import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.WebHandler; import org.springframework.web.server.adapter.HttpWebHandlerAdapter; +import static org.junit.Assert.*; + +/** + * @author Sebastien Deleuze + */ public class MultipartIntegrationTests extends AbstractHttpHandlerIntegrationTests { @Override protected HttpHandler createHttpHandler() { - HttpWebHandlerAdapter handler = new HttpWebHandlerAdapter(new CheckRequestHandler()); - return handler; + return new HttpWebHandlerAdapter(new CheckRequestHandler()); } @Test @@ -70,11 +73,11 @@ public class MultipartIntegrationTests extends AbstractHttpHandlerIntegrationTes return parts; } + public static class CheckRequestHandler implements WebHandler { @Override public Mono handle(ServerWebExchange exchange) { - if (exchange.getRequest().getURI().getPath().equals("/form-parts")) { return assertGetFormParts(exchange); } @@ -106,7 +109,7 @@ public class MultipartIntegrationTests extends AbstractHttpHandlerIntegrationTes assertEquals(12, buffer.readableByteCount()); byte[] byteContent = new byte[12]; buffer.read(byteContent); - assertEquals("Lorem\nIpsum\n", new String(byteContent)); + assertEquals("Lorem Ipsum.", new String(byteContent)); } private void assertBarPart(Part part) { @@ -117,4 +120,4 @@ public class MultipartIntegrationTests extends AbstractHttpHandlerIntegrationTes } } -} \ No newline at end of file +} diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/foo.txt b/spring-web/src/test/resources/org/springframework/http/codec/multipart/foo.txt index 08123a7d4d..28256c4a9f 100644 --- a/spring-web/src/test/resources/org/springframework/http/codec/multipart/foo.txt +++ b/spring-web/src/test/resources/org/springframework/http/codec/multipart/foo.txt @@ -1,2 +1 @@ -Lorem -Ipsum +Lorem Ipsum. \ No newline at end of file