Browse Source

Move multipart test files to a common location

This commit moves "*.multipart" test files to a common location
in order to share these resources with another test suite.

Closes gh-36253
pull/36549/head
Brian Clozel 4 days ago
parent
commit
ac86dc1264
  1. 41
      spring-web/src/test/java/org/springframework/http/codec/multipart/DefaultPartHttpMessageReaderTests.java
  2. 35
      spring-web/src/test/java/org/springframework/http/codec/multipart/PartEventHttpMessageReaderTests.java
  3. 0
      spring-web/src/test/resources/org/springframework/http/multipart/chrome.multipart
  4. 0
      spring-web/src/test/resources/org/springframework/http/multipart/empty-part.multipart
  5. 0
      spring-web/src/test/resources/org/springframework/http/multipart/files.multipart
  6. 0
      spring-web/src/test/resources/org/springframework/http/multipart/firefox.multipart
  7. 0
      spring-web/src/test/resources/org/springframework/http/multipart/garbage-1.multipart
  8. 0
      spring-web/src/test/resources/org/springframework/http/multipart/invalid.multipart
  9. 0
      spring-web/src/test/resources/org/springframework/http/multipart/no-body.multipart
  10. 0
      spring-web/src/test/resources/org/springframework/http/multipart/no-end-body.multipart
  11. 0
      spring-web/src/test/resources/org/springframework/http/multipart/no-end-boundary.multipart
  12. 0
      spring-web/src/test/resources/org/springframework/http/multipart/no-end-header.multipart
  13. 0
      spring-web/src/test/resources/org/springframework/http/multipart/no-header.multipart
  14. 0
      spring-web/src/test/resources/org/springframework/http/multipart/part-no-end-boundary.multipart
  15. 0
      spring-web/src/test/resources/org/springframework/http/multipart/part-no-header.multipart
  16. 0
      spring-web/src/test/resources/org/springframework/http/multipart/safari.multipart
  17. 0
      spring-web/src/test/resources/org/springframework/http/multipart/simple.multipart
  18. 0
      spring-web/src/test/resources/org/springframework/http/multipart/utf8.multipart

41
spring-web/src/test/java/org/springframework/http/codec/multipart/DefaultPartHttpMessageReaderTests.java

@ -80,7 +80,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
@ -98,7 +98,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
StepVerifier.create(result)
@ -112,7 +112,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
@ -128,7 +128,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
@ -140,7 +140,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
StepVerifier.create(result)
@ -151,7 +151,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
StepVerifier.create(result)
@ -162,7 +162,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
StepVerifier.create(result, 1)
@ -174,7 +174,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
CountDownLatch latch = new CountDownLatch(1);
@ -191,7 +191,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
StepVerifier.create(result, 1)
@ -202,26 +202,26 @@ class DefaultPartHttpMessageReaderTests { @@ -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 { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
@ -259,7 +259,7 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
@ -278,7 +278,7 @@ class DefaultPartHttpMessageReaderTests { @@ -278,7 +278,7 @@ class DefaultPartHttpMessageReaderTests {
@Test
void exceedHeaderLimit() throws InterruptedException {
Flux<DataBuffer> 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 { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
@ -317,10 +317,10 @@ class DefaultPartHttpMessageReaderTests { @@ -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<Part> result = reader.read(forClass(Part.class), request, emptyMap());
CountDownLatch latch = new CountDownLatch(3);
@ -334,7 +334,8 @@ class DefaultPartHttpMessageReaderTests { @@ -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<DataBuffer> body = DataBufferUtils
.readByteChannel(resource::readableChannel, bufferFactory, BUFFER_SIZE);

35
spring-web/src/test/java/org/springframework/http/codec/multipart/PartEventHttpMessageReaderTests.java

@ -66,7 +66,7 @@ class PartEventHttpMessageReaderTests { @@ -66,7 +66,7 @@ class PartEventHttpMessageReaderTests {
@Test
void simple() {
MockServerHttpRequest request = createRequest(
new ClassPathResource("simple.multipart", getClass()), "simple-boundary");
"simple.multipart", "simple-boundary");
Flux<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
@ -80,7 +80,7 @@ class PartEventHttpMessageReaderTests { @@ -80,7 +80,7 @@ class PartEventHttpMessageReaderTests {
@Test
void noHeaders() {
MockServerHttpRequest request = createRequest(
new ClassPathResource("no-header.multipart", getClass()), "boundary");
"no-header.multipart", "boundary");
Flux<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
StepVerifier.create(result)
@ -91,7 +91,7 @@ class PartEventHttpMessageReaderTests { @@ -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<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
@ -103,7 +103,7 @@ class PartEventHttpMessageReaderTests { @@ -103,7 +103,7 @@ class PartEventHttpMessageReaderTests {
@Test
void garbage() {
MockServerHttpRequest request = createRequest(
new ClassPathResource("garbage-1.multipart", getClass()), "boundary");
"garbage-1.multipart", "boundary");
Flux<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
@ -116,7 +116,7 @@ class PartEventHttpMessageReaderTests { @@ -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<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
StepVerifier.create(result)
@ -127,7 +127,7 @@ class PartEventHttpMessageReaderTests { @@ -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<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
StepVerifier.create(result)
@ -138,7 +138,7 @@ class PartEventHttpMessageReaderTests { @@ -138,7 +138,7 @@ class PartEventHttpMessageReaderTests {
@Test
void noBody() {
MockServerHttpRequest request = createRequest(
new ClassPathResource("no-body.multipart", getClass()), "boundary");
"no-body.multipart", "boundary");
Flux<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
StepVerifier.create(result)
@ -151,7 +151,7 @@ class PartEventHttpMessageReaderTests { @@ -151,7 +151,7 @@ class PartEventHttpMessageReaderTests {
@Test
void cancel() {
MockServerHttpRequest request = createRequest(
new ClassPathResource("simple.multipart", getClass()), "simple-boundary");
"simple.multipart", "simple-boundary");
Flux<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
StepVerifier.create(result, 3)
@ -165,7 +165,7 @@ class PartEventHttpMessageReaderTests { @@ -165,7 +165,7 @@ class PartEventHttpMessageReaderTests {
@Test
void firefox() {
MockServerHttpRequest request = createRequest(new ClassPathResource("firefox.multipart", getClass()),
MockServerHttpRequest request = createRequest("firefox.multipart",
"---------------------------18399284482060392383840973206");
Flux<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
@ -187,7 +187,7 @@ class PartEventHttpMessageReaderTests { @@ -187,7 +187,7 @@ class PartEventHttpMessageReaderTests {
@Test
void chrome() {
MockServerHttpRequest request = createRequest(new ClassPathResource("chrome.multipart", getClass()),
MockServerHttpRequest request = createRequest("chrome.multipart",
"----WebKitFormBoundaryEveBLvRT65n21fwU");
Flux<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
@ -208,7 +208,7 @@ class PartEventHttpMessageReaderTests { @@ -208,7 +208,7 @@ class PartEventHttpMessageReaderTests {
@Test
void safari() {
MockServerHttpRequest request = createRequest(new ClassPathResource("safari.multipart", getClass()),
MockServerHttpRequest request = createRequest("safari.multipart",
"----WebKitFormBoundaryG8fJ50opQOML0oGD");
Flux<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
@ -229,7 +229,7 @@ class PartEventHttpMessageReaderTests { @@ -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 { @@ -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 { @@ -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 { @@ -277,7 +277,7 @@ class PartEventHttpMessageReaderTests {
@Test
void utf8Headers() {
MockServerHttpRequest request = createRequest(
new ClassPathResource("utf8.multipart", getClass()), "\"simple-boundary\"");
"utf8.multipart", "\"simple-boundary\"");
Flux<PartEvent> result = this.reader.read(forClass(PartEvent.class), request, emptyMap());
@ -290,7 +290,7 @@ class PartEventHttpMessageReaderTests { @@ -290,7 +290,7 @@ class PartEventHttpMessageReaderTests {
@Test
void exceedHeaderLimit() {
Flux<DataBuffer> 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 { @@ -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<DataBuffer> body = DataBufferUtils
.readByteChannel(resource::readableChannel, bufferFactory, BUFFER_SIZE);

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/chrome.multipart → spring-web/src/test/resources/org/springframework/http/multipart/chrome.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/empty-part.multipart → spring-web/src/test/resources/org/springframework/http/multipart/empty-part.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/files.multipart → spring-web/src/test/resources/org/springframework/http/multipart/files.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/firefox.multipart → spring-web/src/test/resources/org/springframework/http/multipart/firefox.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/garbage-1.multipart → spring-web/src/test/resources/org/springframework/http/multipart/garbage-1.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/invalid.multipart → spring-web/src/test/resources/org/springframework/http/multipart/invalid.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/no-body.multipart → spring-web/src/test/resources/org/springframework/http/multipart/no-body.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/no-end-body.multipart → spring-web/src/test/resources/org/springframework/http/multipart/no-end-body.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/no-end-boundary.multipart → spring-web/src/test/resources/org/springframework/http/multipart/no-end-boundary.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/no-end-header.multipart → spring-web/src/test/resources/org/springframework/http/multipart/no-end-header.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/no-header.multipart → spring-web/src/test/resources/org/springframework/http/multipart/no-header.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/part-no-end-boundary.multipart → spring-web/src/test/resources/org/springframework/http/multipart/part-no-end-boundary.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/part-no-header.multipart → spring-web/src/test/resources/org/springframework/http/multipart/part-no-header.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/safari.multipart → spring-web/src/test/resources/org/springframework/http/multipart/safari.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/simple.multipart → spring-web/src/test/resources/org/springframework/http/multipart/simple.multipart

0
spring-web/src/test/resources/org/springframework/http/codec/multipart/utf8.multipart → spring-web/src/test/resources/org/springframework/http/multipart/utf8.multipart

Loading…
Cancel
Save