1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.filter;
20
21 import static org.junit.Assert.assertTrue;
22
23 import org.apache.hadoop.hbase.KeyValue;
24 import org.apache.hadoop.hbase.SmallTests;
25 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
26 import org.apache.hadoop.hbase.protobuf.generated.FilterProtos;
27 import org.apache.hadoop.hbase.util.Bytes;
28 import org.junit.Before;
29 import org.junit.Test;
30 import org.junit.experimental.categories.Category;
31
32
33
34
35
36 @Category(SmallTests.class)
37 public class TestColumnPaginationFilter
38 {
39 private static final byte[] ROW = Bytes.toBytes("row_1_test");
40 private static final byte[] COLUMN_FAMILY = Bytes.toBytes("test");
41 private static final byte[] VAL_1 = Bytes.toBytes("a");
42 private static final byte[] COLUMN_QUALIFIER = Bytes.toBytes("foo");
43
44 private Filter columnPaginationFilterOffset;
45 private Filter columnPaginationFilter;
46
47 @Before
48 public void setUp() throws Exception {
49 columnPaginationFilter = getColumnPaginationFilter();
50 columnPaginationFilterOffset = getColumnPaginationFilterOffset();
51 }
52
53 private Filter getColumnPaginationFilter() {
54 return new ColumnPaginationFilter(1, 0);
55 }
56
57 private Filter getColumnPaginationFilterOffset() {
58 return new ColumnPaginationFilter(1, COLUMN_QUALIFIER);
59 }
60
61 private Filter serializationTest(Filter filter) throws Exception {
62 FilterProtos.Filter filterProto = ProtobufUtil.toFilter(filter);
63 Filter newFilter = ProtobufUtil.toFilter(filterProto);
64
65 return newFilter;
66 }
67
68
69
70
71
72
73
74
75
76 private void basicFilterTests(ColumnPaginationFilter filter) throws Exception
77 {
78 KeyValue kv = new KeyValue(ROW, COLUMN_FAMILY, COLUMN_QUALIFIER, VAL_1);
79 assertTrue("basicFilter1", filter.filterKeyValue(kv) == Filter.ReturnCode.INCLUDE_AND_NEXT_COL);
80 }
81
82
83
84
85
86 @Test
87 public void testSerialization() throws Exception {
88 Filter newFilter = serializationTest(columnPaginationFilter);
89 basicFilterTests((ColumnPaginationFilter)newFilter);
90
91 Filter newFilterOffset = serializationTest(columnPaginationFilterOffset);
92 basicFilterTests((ColumnPaginationFilter)newFilterOffset);
93 }
94
95
96
97 }
98