1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.hc.core5.http.io.entity;
29
30 import java.io.ByteArrayOutputStream;
31 import java.nio.charset.StandardCharsets;
32
33 import org.apache.hc.core5.http.ContentType;
34 import org.junit.jupiter.api.Assertions;
35 import org.junit.jupiter.api.Test;
36
37
38
39
40
41 public class TestHttpEntityWrapper {
42
43 @Test
44 public void testBasics() throws Exception {
45 final StringEntity entity = new StringEntity("Message content", ContentType.TEXT_PLAIN, "blah", false);
46 final HttpEntityWrapper wrapped = new HttpEntityWrapper(entity);
47
48 Assertions.assertEquals(entity.getContentLength(), wrapped.getContentLength());
49 Assertions.assertEquals(entity.getContentType(), wrapped.getContentType());
50 Assertions.assertEquals(entity.getContentEncoding(), wrapped.getContentEncoding());
51 Assertions.assertEquals(entity.isChunked(), wrapped.isChunked());
52 Assertions.assertEquals(entity.isRepeatable(), wrapped.isRepeatable());
53 Assertions.assertEquals(entity.isStreaming(), wrapped.isStreaming());
54 Assertions.assertNotNull(wrapped.getContent());
55 }
56
57 @Test
58 public void testIllegalConstructor() throws Exception {
59 Assertions.assertThrows(NullPointerException.class, () -> new HttpEntityWrapper(null));
60 }
61
62 @Test
63 public void testWriteTo() throws Exception {
64 final String s = "Message content";
65 final byte[] bytes = s.getBytes(StandardCharsets.ISO_8859_1);
66 final StringEntity entity = new StringEntity(s);
67 final HttpEntityWrapper wrapped = new HttpEntityWrapper(entity);
68
69 ByteArrayOutputStream out = new ByteArrayOutputStream();
70 wrapped.writeTo(out);
71 byte[] bytes2 = out.toByteArray();
72 Assertions.assertNotNull(bytes2);
73 Assertions.assertEquals(bytes.length, bytes2.length);
74 for (int i = 0; i < bytes.length; i++) {
75 Assertions.assertEquals(bytes[i], bytes2[i]);
76 }
77
78 out = new ByteArrayOutputStream();
79 wrapped.writeTo(out);
80 bytes2 = out.toByteArray();
81 Assertions.assertNotNull(bytes2);
82 Assertions.assertEquals(bytes.length, bytes2.length);
83 for (int i = 0; i < bytes.length; i++) {
84 Assertions.assertEquals(bytes[i], bytes2[i]);
85 }
86
87 Assertions.assertThrows(NullPointerException.class, () -> wrapped.writeTo(null));
88 }
89
90 @Test
91 public void testConsumeContent() throws Exception {
92 final String s = "Message content";
93 final StringEntity entity = new StringEntity(s);
94 final HttpEntityWrapper wrapped = new HttpEntityWrapper(entity);
95 EntityUtils.consume(wrapped);
96 EntityUtils.consume(wrapped);
97 }
98
99 }