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 try (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
58 @Test
59 public void testIllegalConstructor() throws Exception {
60 Assertions.assertThrows(NullPointerException.class, () -> new HttpEntityWrapper(null));
61 }
62
63 @Test
64 public void testWriteTo() throws Exception {
65 final String s = "Message content";
66 final byte[] bytes = s.getBytes(StandardCharsets.US_ASCII);
67 final StringEntity entity = new StringEntity(s);
68 try (final HttpEntityWrapper wrapped = new HttpEntityWrapper(entity)) {
69
70 ByteArrayOutputStream out = new ByteArrayOutputStream();
71 wrapped.writeTo(out);
72 byte[] bytes2 = out.toByteArray();
73 Assertions.assertNotNull(bytes2);
74 Assertions.assertEquals(bytes.length, bytes2.length);
75 for (int i = 0; i < bytes.length; i++) {
76 Assertions.assertEquals(bytes[i], bytes2[i]);
77 }
78
79 out = new ByteArrayOutputStream();
80 wrapped.writeTo(out);
81 bytes2 = out.toByteArray();
82 Assertions.assertNotNull(bytes2);
83 Assertions.assertEquals(bytes.length, bytes2.length);
84 for (int i = 0; i < bytes.length; i++) {
85 Assertions.assertEquals(bytes[i], bytes2[i]);
86 }
87
88 Assertions.assertThrows(NullPointerException.class, () -> wrapped.writeTo(null));
89 }
90 }
91
92 @Test
93 public void testConsumeContent() throws Exception {
94 final String s = "Message content";
95 final StringEntity entity = new StringEntity(s);
96 final HttpEntityWrapper wrapped = new HttpEntityWrapper(entity);
97 EntityUtils.consume(wrapped);
98 EntityUtils.consume(wrapped);
99 }
100
101 }