1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.fileupload2.core;
18
19 import static org.junit.jupiter.api.Assertions.assertNotNull;
20 import static org.junit.jupiter.api.Assertions.assertThrows;
21
22 import java.io.ByteArrayInputStream;
23 import java.io.InputStream;
24
25 import org.junit.jupiter.api.Test;
26
27
28
29
30 public class MultipartStreamTest {
31
32 static private final String BOUNDARY_TEXT = "myboundary";
33
34 @Test
35 public void testSmallBuffer() {
36 final var strData = "foobar";
37 final var contents = strData.getBytes();
38 final InputStream input = new ByteArrayInputStream(contents);
39 final var boundary = BOUNDARY_TEXT.getBytes();
40 final var iBufSize = 1;
41 assertThrows(IllegalArgumentException.class, () -> MultipartInput.builder().setInputStream(input).setBoundary(boundary).setBufferSize(iBufSize)
42 .setProgressNotifier(new MultipartInput.ProgressNotifier(null, contents.length)).get());
43 }
44
45 @Test
46 public void testThreeParamConstructor() throws Exception {
47 final var strData = "foobar";
48 final var contents = strData.getBytes();
49 final InputStream input = new ByteArrayInputStream(contents);
50 final var boundary = BOUNDARY_TEXT.getBytes();
51 final var iBufSize = boundary.length + MultipartInput.BOUNDARY_PREFIX.length + 1;
52 final var ms = MultipartInput.builder().setInputStream(input).setBoundary(boundary).setBufferSize(iBufSize)
53 .setProgressNotifier(new MultipartInput.ProgressNotifier(null, contents.length)).get();
54 assertNotNull(ms);
55 }
56
57 @Test
58 public void testTwoParamConstructor() throws Exception {
59 final var strData = "foobar";
60 final var contents = strData.getBytes();
61 final InputStream input = new ByteArrayInputStream(contents);
62 final var boundary = BOUNDARY_TEXT.getBytes();
63 final var ms = MultipartInput.builder().setInputStream(input).setBoundary(boundary)
64 .setProgressNotifier(new MultipartInput.ProgressNotifier(null, contents.length)).get();
65 assertNotNull(ms);
66 }
67
68 }