diff --git a/spring-web/src/test/java/org/springframework/http/codec/multipart/DefaultPartHttpMessageReaderTests.java b/spring-web/src/test/java/org/springframework/http/codec/multipart/DefaultPartHttpMessageReaderTests.java index c77ba81b33f..54975b30c27 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/multipart/DefaultPartHttpMessageReaderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/multipart/DefaultPartHttpMessageReaderTests.java @@ -80,7 +80,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void simple(DefaultPartHttpMessageReader reader) throws InterruptedException { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "simple-boundary"); + "simple.multipart", "simple-boundary"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); @@ -98,7 +98,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void noHeaders(DefaultPartHttpMessageReader reader) { MockServerHttpRequest request = createRequest( - new ClassPathResource("no-header.multipart", getClass()), "boundary"); + "no-header.multipart", "boundary"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); StepVerifier.create(result) @@ -112,7 +112,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void noEndBoundary(DefaultPartHttpMessageReader reader) { MockServerHttpRequest request = createRequest( - new ClassPathResource("no-end-boundary.multipart", getClass()), "boundary"); + "no-end-boundary.multipart", "boundary"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); @@ -128,7 +128,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void garbage(DefaultPartHttpMessageReader reader) { MockServerHttpRequest request = createRequest( - new ClassPathResource("garbage-1.multipart", getClass()), "boundary"); + "garbage-1.multipart", "boundary"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); @@ -140,7 +140,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void noEndHeader(DefaultPartHttpMessageReader reader) { MockServerHttpRequest request = createRequest( - new ClassPathResource("no-end-header.multipart", getClass()), "boundary"); + "no-end-header.multipart", "boundary"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); StepVerifier.create(result) @@ -151,7 +151,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void noEndBody(DefaultPartHttpMessageReader reader) { MockServerHttpRequest request = createRequest( - new ClassPathResource("no-end-body.multipart", getClass()), "boundary"); + "no-end-body.multipart", "boundary"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); StepVerifier.create(result) @@ -162,7 +162,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void cancelPart(DefaultPartHttpMessageReader reader) { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "simple-boundary"); + "simple.multipart", "simple-boundary"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); StepVerifier.create(result, 1) @@ -174,7 +174,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void cancelBody(DefaultPartHttpMessageReader reader) throws Exception { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "simple-boundary"); + "simple.multipart", "simple-boundary"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); CountDownLatch latch = new CountDownLatch(1); @@ -191,7 +191,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void cancelBodyThenPart(DefaultPartHttpMessageReader reader) { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "simple-boundary"); + "simple.multipart", "simple-boundary"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); StepVerifier.create(result, 1) @@ -202,26 +202,26 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void firefox(DefaultPartHttpMessageReader reader) throws InterruptedException { - testBrowser(reader, new ClassPathResource("firefox.multipart", getClass()), + testBrowser(reader, "firefox.multipart", "---------------------------18399284482060392383840973206"); } @ParameterizedDefaultPartHttpMessageReaderTest void chrome(DefaultPartHttpMessageReader reader) throws InterruptedException { - testBrowser(reader, new ClassPathResource("chrome.multipart", getClass()), + testBrowser(reader, "chrome.multipart", "----WebKitFormBoundaryEveBLvRT65n21fwU"); } @ParameterizedDefaultPartHttpMessageReaderTest void safari(DefaultPartHttpMessageReader reader) throws InterruptedException { - testBrowser(reader, new ClassPathResource("safari.multipart", getClass()), + testBrowser(reader, "safari.multipart", "----WebKitFormBoundaryG8fJ50opQOML0oGD"); } @Test void tooManyParts() throws InterruptedException { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "simple-boundary"); + "simple.multipart", "simple-boundary"); DefaultPartHttpMessageReader reader = new DefaultPartHttpMessageReader(); reader.setMaxParts(1); @@ -241,7 +241,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void quotedBoundary(DefaultPartHttpMessageReader reader) throws InterruptedException { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "\"simple-boundary\""); + "simple.multipart", "\"simple-boundary\""); Flux result = reader.read(forClass(Part.class), request, emptyMap()); @@ -259,7 +259,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void utf8Headers(DefaultPartHttpMessageReader reader) throws InterruptedException { MockServerHttpRequest request = createRequest( - new ClassPathResource("utf8.multipart", getClass()), "\"simple-boundary\""); + "utf8.multipart", "\"simple-boundary\""); Flux result = reader.read(forClass(Part.class), request, emptyMap()); @@ -278,7 +278,7 @@ class DefaultPartHttpMessageReaderTests { @Test void exceedHeaderLimit() throws InterruptedException { Flux body = DataBufferUtils - .readByteChannel((new ClassPathResource("files.multipart", getClass()))::readableChannel, bufferFactory, 282); + .readByteChannel(new ClassPathResource("/org/springframework/http/multipart/files.multipart")::readableChannel, bufferFactory, 282); MediaType contentType = new MediaType("multipart", "form-data", singletonMap("boundary", "----WebKitFormBoundaryG8fJ50opQOML0oGD")); MockServerHttpRequest request = MockServerHttpRequest.post("/") @@ -303,7 +303,7 @@ class DefaultPartHttpMessageReaderTests { @ParameterizedDefaultPartHttpMessageReaderTest void emptyLastPart(DefaultPartHttpMessageReader reader) throws InterruptedException { MockServerHttpRequest request = createRequest( - new ClassPathResource("empty-part.multipart", getClass()), "LiG0chJ0k7YtLt-FzTklYFgz50i88xJCW5jD"); + "empty-part.multipart", "LiG0chJ0k7YtLt-FzTklYFgz50i88xJCW5jD"); Flux result = reader.read(forClass(Part.class), request, emptyMap()); @@ -317,10 +317,10 @@ class DefaultPartHttpMessageReaderTests { } - private void testBrowser(DefaultPartHttpMessageReader reader, Resource resource, String boundary) + private void testBrowser(DefaultPartHttpMessageReader reader, String fileName, String boundary) throws InterruptedException { - MockServerHttpRequest request = createRequest(resource, boundary); + MockServerHttpRequest request = createRequest(fileName, boundary); Flux result = reader.read(forClass(Part.class), request, emptyMap()); CountDownLatch latch = new CountDownLatch(3); @@ -334,7 +334,8 @@ class DefaultPartHttpMessageReaderTests { latch.await(); } - private MockServerHttpRequest createRequest(Resource resource, String boundary) { + private MockServerHttpRequest createRequest(String fileName, String boundary) { + Resource resource = new ClassPathResource("/org/springframework/http/multipart/" + fileName); Flux body = DataBufferUtils .readByteChannel(resource::readableChannel, bufferFactory, BUFFER_SIZE); diff --git a/spring-web/src/test/java/org/springframework/http/codec/multipart/PartEventHttpMessageReaderTests.java b/spring-web/src/test/java/org/springframework/http/codec/multipart/PartEventHttpMessageReaderTests.java index 332b8c1d6be..aa9cab7d61a 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/multipart/PartEventHttpMessageReaderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/multipart/PartEventHttpMessageReaderTests.java @@ -66,7 +66,7 @@ class PartEventHttpMessageReaderTests { @Test void simple() { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "simple-boundary"); + "simple.multipart", "simple-boundary"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); @@ -80,7 +80,7 @@ class PartEventHttpMessageReaderTests { @Test void noHeaders() { MockServerHttpRequest request = createRequest( - new ClassPathResource("no-header.multipart", getClass()), "boundary"); + "no-header.multipart", "boundary"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); StepVerifier.create(result) @@ -91,7 +91,7 @@ class PartEventHttpMessageReaderTests { @Test void noEndBoundary() { MockServerHttpRequest request = createRequest( - new ClassPathResource("no-end-boundary.multipart", getClass()), "boundary"); + "no-end-boundary.multipart", "boundary"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); @@ -103,7 +103,7 @@ class PartEventHttpMessageReaderTests { @Test void garbage() { MockServerHttpRequest request = createRequest( - new ClassPathResource("garbage-1.multipart", getClass()), "boundary"); + "garbage-1.multipart", "boundary"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); @@ -116,7 +116,7 @@ class PartEventHttpMessageReaderTests { @Test void noEndHeader() { MockServerHttpRequest request = createRequest( - new ClassPathResource("no-end-header.multipart", getClass()), "boundary"); + "no-end-header.multipart", "boundary"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); StepVerifier.create(result) @@ -127,7 +127,7 @@ class PartEventHttpMessageReaderTests { @Test void noEndBody() { MockServerHttpRequest request = createRequest( - new ClassPathResource("no-end-body.multipart", getClass()), "boundary"); + "no-end-body.multipart", "boundary"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); StepVerifier.create(result) @@ -138,7 +138,7 @@ class PartEventHttpMessageReaderTests { @Test void noBody() { MockServerHttpRequest request = createRequest( - new ClassPathResource("no-body.multipart", getClass()), "boundary"); + "no-body.multipart", "boundary"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); StepVerifier.create(result) @@ -151,7 +151,7 @@ class PartEventHttpMessageReaderTests { @Test void cancel() { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "simple-boundary"); + "simple.multipart", "simple-boundary"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); StepVerifier.create(result, 3) @@ -165,7 +165,7 @@ class PartEventHttpMessageReaderTests { @Test void firefox() { - MockServerHttpRequest request = createRequest(new ClassPathResource("firefox.multipart", getClass()), + MockServerHttpRequest request = createRequest("firefox.multipart", "---------------------------18399284482060392383840973206"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); @@ -187,7 +187,7 @@ class PartEventHttpMessageReaderTests { @Test void chrome() { - MockServerHttpRequest request = createRequest(new ClassPathResource("chrome.multipart", getClass()), + MockServerHttpRequest request = createRequest("chrome.multipart", "----WebKitFormBoundaryEveBLvRT65n21fwU"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); @@ -208,7 +208,7 @@ class PartEventHttpMessageReaderTests { @Test void safari() { - MockServerHttpRequest request = createRequest(new ClassPathResource("safari.multipart", getClass()), + MockServerHttpRequest request = createRequest("safari.multipart", "----WebKitFormBoundaryG8fJ50opQOML0oGD"); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); @@ -229,7 +229,7 @@ class PartEventHttpMessageReaderTests { @Test void tooManyParts() { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "simple-boundary"); + "simple.multipart", "simple-boundary"); PartEventHttpMessageReader reader = new PartEventHttpMessageReader(); reader.setMaxParts(1); @@ -244,7 +244,7 @@ class PartEventHttpMessageReaderTests { @Test void partSizeTooLarge() { - MockServerHttpRequest request = createRequest(new ClassPathResource("safari.multipart", getClass()), + MockServerHttpRequest request = createRequest("safari.multipart", "----WebKitFormBoundaryG8fJ50opQOML0oGD"); PartEventHttpMessageReader reader = new PartEventHttpMessageReader(); @@ -262,7 +262,7 @@ class PartEventHttpMessageReaderTests { @Test void formPartTooLarge() { MockServerHttpRequest request = createRequest( - new ClassPathResource("simple.multipart", getClass()), "simple-boundary"); + "simple.multipart", "simple-boundary"); PartEventHttpMessageReader reader = new PartEventHttpMessageReader(); reader.setMaxInMemorySize(40); @@ -277,7 +277,7 @@ class PartEventHttpMessageReaderTests { @Test void utf8Headers() { MockServerHttpRequest request = createRequest( - new ClassPathResource("utf8.multipart", getClass()), "\"simple-boundary\""); + "utf8.multipart", "\"simple-boundary\""); Flux result = this.reader.read(forClass(PartEvent.class), request, emptyMap()); @@ -290,7 +290,7 @@ class PartEventHttpMessageReaderTests { @Test void exceedHeaderLimit() { Flux body = DataBufferUtils - .readByteChannel((new ClassPathResource("files.multipart", getClass()))::readableChannel, bufferFactory, + .readByteChannel((new ClassPathResource("/org/springframework/http/multipart/files.multipart"))::readableChannel, bufferFactory, 282); MediaType contentType = new MediaType("multipart", "form-data", @@ -309,7 +309,8 @@ class PartEventHttpMessageReaderTests { .verifyComplete(); } - private MockServerHttpRequest createRequest(Resource resource, String boundary) { + private MockServerHttpRequest createRequest(String fileName, String boundary) { + Resource resource = new ClassPathResource("/org/springframework/http/multipart/" + fileName); Flux body = DataBufferUtils .readByteChannel(resource::readableChannel, bufferFactory, BUFFER_SIZE); diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/chrome.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/chrome.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/chrome.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/chrome.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/empty-part.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/empty-part.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/empty-part.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/empty-part.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/files.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/files.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/files.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/files.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/firefox.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/firefox.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/firefox.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/firefox.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/garbage-1.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/garbage-1.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/garbage-1.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/garbage-1.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/invalid.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/invalid.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/invalid.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/invalid.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/no-body.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/no-body.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/no-body.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/no-body.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/no-end-body.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/no-end-body.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/no-end-body.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/no-end-body.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/no-end-boundary.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/no-end-boundary.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/no-end-boundary.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/no-end-boundary.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/no-end-header.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/no-end-header.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/no-end-header.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/no-end-header.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/no-header.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/no-header.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/no-header.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/no-header.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/part-no-end-boundary.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/part-no-end-boundary.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/part-no-end-boundary.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/part-no-end-boundary.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/part-no-header.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/part-no-header.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/part-no-header.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/part-no-header.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/safari.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/safari.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/safari.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/safari.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/simple.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/simple.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/simple.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/simple.multipart diff --git a/spring-web/src/test/resources/org/springframework/http/codec/multipart/utf8.multipart b/spring-web/src/test/resources/org/springframework/http/multipart/utf8.multipart similarity index 100% rename from spring-web/src/test/resources/org/springframework/http/codec/multipart/utf8.multipart rename to spring-web/src/test/resources/org/springframework/http/multipart/utf8.multipart