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.SmallTests;
32 import org.apache.hadoop.hbase.util.Bytes;
33 import org.junit.Assert;
34 import org.junit.Test;
35 import org.junit.experimental.categories.Category;
36
37
38 @Category(SmallTests.class)
39 public class TestGet {
40 @Test
41 public void testAttributesSerialization() throws IOException {
42 Get get = new Get();
43 get.setAttribute("attribute1", Bytes.toBytes("value1"));
44 get.setAttribute("attribute2", Bytes.toBytes("value2"));
45 get.setAttribute("attribute3", Bytes.toBytes("value3"));
46
47 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
48 DataOutput out = new DataOutputStream(byteArrayOutputStream);
49 get.write(out);
50
51 Get get2 = new Get();
52 Assert.assertTrue(get2.getAttributesMap().isEmpty());
53
54 get2.readFields(new DataInputStream(new ByteArrayInputStream(byteArrayOutputStream.toByteArray())));
55
56 Assert.assertNull(get2.getAttribute("absent"));
57 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value1"), get2.getAttribute("attribute1")));
58 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value2"), get2.getAttribute("attribute2")));
59 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value3"), get2.getAttribute("attribute3")));
60 Assert.assertEquals(3, get2.getAttributesMap().size());
61 }
62
63 @Test
64 public void testGetAttributes() {
65 Get get = new Get();
66 Assert.assertTrue(get.getAttributesMap().isEmpty());
67 Assert.assertNull(get.getAttribute("absent"));
68
69 get.setAttribute("absent", null);
70 Assert.assertTrue(get.getAttributesMap().isEmpty());
71 Assert.assertNull(get.getAttribute("absent"));
72
73
74 get.setAttribute("attribute1", Bytes.toBytes("value1"));
75 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value1"), get.getAttribute("attribute1")));
76 Assert.assertEquals(1, get.getAttributesMap().size());
77 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value1"), get.getAttributesMap().get("attribute1")));
78
79
80 get.setAttribute("attribute1", Bytes.toBytes("value12"));
81 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value12"), get.getAttribute("attribute1")));
82 Assert.assertEquals(1, get.getAttributesMap().size());
83 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value12"), get.getAttributesMap().get("attribute1")));
84
85
86 get.setAttribute("attribute2", Bytes.toBytes("value2"));
87 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value2"), get.getAttribute("attribute2")));
88 Assert.assertEquals(2, get.getAttributesMap().size());
89 Assert.assertTrue(Arrays.equals(Bytes.toBytes("value2"), get.getAttributesMap().get("attribute2")));
90
91
92 get.setAttribute("attribute2", null);
93 Assert.assertNull(get.getAttribute("attribute2"));
94 Assert.assertEquals(1, get.getAttributesMap().size());
95 Assert.assertNull(get.getAttributesMap().get("attribute2"));
96
97
98 get.setAttribute("attribute2", null);
99 Assert.assertNull(get.getAttribute("attribute2"));
100 Assert.assertEquals(1, get.getAttributesMap().size());
101 Assert.assertNull(get.getAttributesMap().get("attribute2"));
102
103
104 get.setAttribute("attribute1", null);
105 Assert.assertNull(get.getAttribute("attribute1"));
106 Assert.assertTrue(get.getAttributesMap().isEmpty());
107 Assert.assertNull(get.getAttributesMap().get("attribute1"));
108 }
109
110 @org.junit.Rule
111 public org.apache.hadoop.hbase.ResourceCheckerJUnitRule cu =
112 new org.apache.hadoop.hbase.ResourceCheckerJUnitRule();
113 }
114