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.ByteBuffer;
32 import java.nio.charset.StandardCharsets;
33
34 import org.junit.jupiter.api.Assertions;
35 import org.junit.jupiter.api.Test;
36
37
38
39
40
41 public class TestByteBufferEntity {
42
43 @Test
44 public void testBasics() throws Exception {
45 final ByteBuffer bytes = ByteBuffer.wrap("Message content".getBytes(StandardCharsets.US_ASCII));
46 try (final ByteBufferEntity httpentity = new ByteBufferEntity(bytes, null)) {
47
48 Assertions.assertEquals(bytes.capacity(), httpentity.getContentLength());
49 Assertions.assertNotNull(httpentity.getContent());
50 Assertions.assertFalse(httpentity.isRepeatable());
51 Assertions.assertFalse(httpentity.isStreaming());
52 }
53 }
54
55
56 @Test
57 public void testWriteTo() throws Exception {
58 final ByteBuffer bytes = ByteBuffer.wrap("Message content".getBytes(StandardCharsets.US_ASCII));
59 try (final ByteBufferEntity httpentity = new ByteBufferEntity(bytes, null)) {
60
61 ByteArrayOutputStream out = new ByteArrayOutputStream();
62 httpentity.writeTo(out);
63 byte[] bytes2 = out.toByteArray();
64 Assertions.assertNotNull(bytes2);
65 Assertions.assertEquals(bytes.capacity(), bytes2.length);
66 bytes.position(0);
67 for (int i = 0; i < bytes2.length; i++) {
68 Assertions.assertEquals(bytes.get(i), bytes2[i]);
69 }
70
71 out = new ByteArrayOutputStream();
72 httpentity.writeTo(out);
73 bytes2 = out.toByteArray();
74 Assertions.assertNotNull(bytes2);
75 Assertions.assertEquals(bytes.capacity(), bytes2.length);
76 bytes.position(0);
77 for (int i = 0; i < bytes.capacity(); i++) {
78 Assertions.assertEquals(bytes.get(i), bytes2[i]);
79 }
80
81 Assertions.assertThrows(NullPointerException.class, () -> httpentity.writeTo(null));
82 }
83 }
84 }