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.Assert;
35 import org.junit.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 Assert.assertEquals(entity.getContentLength(), wrapped.getContentLength());
49 Assert.assertEquals(entity.getContentType(), wrapped.getContentType());
50 Assert.assertEquals(entity.getContentEncoding(), wrapped.getContentEncoding());
51 Assert.assertEquals(entity.isChunked(), wrapped.isChunked());
52 Assert.assertEquals(entity.isRepeatable(), wrapped.isRepeatable());
53 Assert.assertEquals(entity.isStreaming(), wrapped.isStreaming());
54 Assert.assertNotNull(wrapped.getContent());
55 }
56
57 @Test
58 public void testIllegalConstructor() throws Exception {
59 try {
60 new HttpEntityWrapper(null);
61 Assert.fail("NullPointerException should have been thrown");
62 } catch (final NullPointerException ex) {
63
64 }
65 }
66
67 @Test
68 public void testWriteTo() throws Exception {
69 final String s = "Message content";
70 final byte[] bytes = s.getBytes(StandardCharsets.ISO_8859_1);
71 final StringEntity entity = new StringEntity(s);
72 final HttpEntityWrapper wrapped = new HttpEntityWrapper(entity);
73
74 ByteArrayOutputStream out = new ByteArrayOutputStream();
75 wrapped.writeTo(out);
76 byte[] bytes2 = out.toByteArray();
77 Assert.assertNotNull(bytes2);
78 Assert.assertEquals(bytes.length, bytes2.length);
79 for (int i = 0; i < bytes.length; i++) {
80 Assert.assertEquals(bytes[i], bytes2[i]);
81 }
82
83 out = new ByteArrayOutputStream();
84 wrapped.writeTo(out);
85 bytes2 = out.toByteArray();
86 Assert.assertNotNull(bytes2);
87 Assert.assertEquals(bytes.length, bytes2.length);
88 for (int i = 0; i < bytes.length; i++) {
89 Assert.assertEquals(bytes[i], bytes2[i]);
90 }
91
92 try {
93 wrapped.writeTo(null);
94 Assert.fail("NullPointerException should have been thrown");
95 } catch (final NullPointerException ex) {
96
97 }
98 }
99
100 @Test
101 public void testConsumeContent() throws Exception {
102 final String s = "Message content";
103 final StringEntity entity = new StringEntity(s);
104 final HttpEntityWrapper wrapped = new HttpEntityWrapper(entity);
105 EntityUtils.consume(wrapped);
106 EntityUtils.consume(wrapped);
107 }
108
109 }