1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.hadoop.hbase.client;
22
23 import java.io.ByteArrayInputStream;
24 import java.io.ByteArrayOutputStream;
25 import java.io.DataInputStream;
26 import java.io.DataOutput;
27 import java.io.DataOutputStream;
28 import java.io.IOException;
29 import java.util.Arrays;
30
31 import org.apache.hadoop.hbase.util.Bytes;
32 import org.junit.Assert;
33 import org.junit.Test;
34
35
36 public class TestGet {
37 @Test
38 public void testAttributesSerialization() throws IOException {
39 Get get = new Get();
40 get.setAttribute("attribute1", Bytes.toBytes("value1"));
41 get.setAttribute("attribute2", Bytes.toBytes("value2"));
42 get.setAttribute("attribute3", Bytes.toBytes("value3"));
43
44 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
45 DataOutput out = new DataOutputStream(byteArrayOutputStream);
46 get.write(out);
47
48 Get get2 = new Get();
49 Assert.assertTrue(get2.getAttributesMap().isEmpty());
50
51 get2.readFields(new DataInputStream(new ByteArrayInputStream(byteArrayOutputStream.toByteArray())));
52
53 Assert.assertNull(get2.getAttribute("absent"));
54 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value1"), get2.getAttribute("attribute1")));
55 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value2"), get2.getAttribute("attribute2")));
56 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value3"), get2.getAttribute("attribute3")));
57 Assert.assertEquals(3, get2.getAttributesMap().size());
58 }
59
60 @Test
61 public void testGetAttributes() {
62 Get get = new Get();
63 Assert.assertTrue(get.getAttributesMap().isEmpty());
64 Assert.assertNull(get.getAttribute("absent"));
65
66 get.setAttribute("absent", null);
67 Assert.assertTrue(get.getAttributesMap().isEmpty());
68 Assert.assertNull(get.getAttribute("absent"));
69
70
71 get.setAttribute("attribute1", Bytes.toBytes("value1"));
72 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value1"), get.getAttribute("attribute1")));
73 Assert.assertEquals(1, get.getAttributesMap().size());
74 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value1"), get.getAttributesMap().get("attribute1")));
75
76
77 get.setAttribute("attribute1", Bytes.toBytes("value12"));
78 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value12"), get.getAttribute("attribute1")));
79 Assert.assertEquals(1, get.getAttributesMap().size());
80 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value12"), get.getAttributesMap().get("attribute1")));
81
82
83 get.setAttribute("attribute2", Bytes.toBytes("value2"));
84 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value2"), get.getAttribute("attribute2")));
85 Assert.assertEquals(2, get.getAttributesMap().size());
86 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value2"), get.getAttributesMap().get("attribute2")));
87
88
89 get.setAttribute("attribute2", null);
90 Assert.assertNull(get.getAttribute("attribute2"));
91 Assert.assertEquals(1, get.getAttributesMap().size());
92 Assert.assertNull(get.getAttributesMap().get("attribute2"));
93
94
95 get.setAttribute("attribute2", null);
96 Assert.assertNull(get.getAttribute("attribute2"));
97 Assert.assertEquals(1, get.getAttributesMap().size());
98 Assert.assertNull(get.getAttributesMap().get("attribute2"));
99
100
101 get.setAttribute("attribute1", null);
102 Assert.assertNull(get.getAttribute("attribute1"));
103 Assert.assertTrue(get.getAttributesMap().isEmpty());
104 Assert.assertNull(get.getAttributesMap().get("attribute1"));
105 }
106 }