1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.mail2.javax;
18
19 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21 import static org.junit.jupiter.api.Assertions.assertThrows;
22
23 import java.io.ByteArrayInputStream;
24 import java.io.IOException;
25 import java.io.InputStream;
26
27 import org.apache.commons.mail2.javax.activation.InputStreamDataSource;
28 import org.junit.jupiter.api.Test;
29
30
31
32
33 public class InputStreamDataSourceTest {
34
35 @Test
36 public void testGetContentType() {
37 assertEquals("text/plain", new InputStreamDataSource(null, "text/plain").getContentType());
38 }
39
40 @Test
41 public void testGetInputStream() throws IOException {
42 final byte[] testData = "Test data for InputStream".getBytes();
43 final InputStream testInputStream = new ByteArrayInputStream(testData);
44 final InputStreamDataSource dataSource = new InputStreamDataSource(testInputStream, "application/octet-stream");
45 try (InputStream inputStream = dataSource.getInputStream()) {
46 final byte[] readData = new byte[testData.length];
47 final int bytesRead = inputStream.read(readData);
48 assertEquals(testData.length, bytesRead);
49 assertArrayEquals(testData, readData);
50 }
51 }
52
53 @Test
54 public void testGetName() {
55 assertEquals("document.pdf", new InputStreamDataSource(null, "application/pdf", "document.pdf").getName());
56 }
57
58 @Test
59 public void testGetOutputStream() {
60 final InputStreamDataSource dataSource = new InputStreamDataSource(null, "text/html");
61 assertThrows(UnsupportedOperationException.class, dataSource::getOutputStream);
62 }
63
64 @Test
65 public void testSetName() {
66 assertEquals("image.jpg", new InputStreamDataSource(null, "image/jpeg", "image.jpg").getName());
67 }
68
69 }