|
22 | 22 |
|
23 | 23 | import com.fasterxml.jackson.core.JsonParseException;
|
24 | 24 | import com.fasterxml.jackson.databind.JsonMappingException;
|
| 25 | +import com.fasterxml.jackson.databind.node.ObjectNode; |
25 | 26 | import org.apache.hadoop.hbase.HBaseClassTestRule;
|
26 | 27 | import org.apache.hadoop.hbase.rest.ScannerResultGenerator;
|
27 | 28 | import org.apache.hadoop.hbase.testclassification.RestTests;
|
@@ -62,8 +63,7 @@ public TestScannerModel() throws Exception {
|
62 | 63 | AS_JSON = "{\"batch\":100,\"caching\":1000,\"cacheBlocks\":false,\"endRow\":\"enp5eng=\","
|
63 | 64 | + "\"endTime\":1245393318192,\"maxVersions\":2147483647,\"startRow\":\"YWJyYWNhZGFicmE=\","
|
64 | 65 | + "\"startTime\":1245219839331,\"column\":[\"Y29sdW1uMQ==\",\"Y29sdW1uMjpmb28=\"],"
|
65 |
| - + "\"labels\":[\"private\",\"public\"]," + "\"limit\":10000," |
66 |
| - + "\"includeStartRow\":true,\"includeStopRow\":false}"; |
| 66 | + + "\"labels\":[\"private\",\"public\"]," + "\"limit\":10000}"; |
67 | 67 |
|
68 | 68 | AS_PB = "CgthYnJhY2FkYWJyYRIFenp5engaB2NvbHVtbjEaC2NvbHVtbjI6Zm9vIGQo47qL554kMLDi57mfJDj"
|
69 | 69 | + "/////B0joB1IHcHJpdmF0ZVIGcHVibGljWABgkE4=";
|
@@ -151,4 +151,60 @@ private void verifyException(final String FILTER) throws Exception {
|
151 | 151 | model.setFilter(FILTER);
|
152 | 152 | ScannerResultGenerator.buildFilterFromModel(model);
|
153 | 153 | }
|
| 154 | + |
| 155 | + @Test() |
| 156 | + public void testToJsonWithIncludeStartRowAndIncludeStopRow() throws Exception { |
| 157 | + String jsonStr = |
| 158 | + "{\"batch\":100,\"caching\":1000,\"cacheBlocks\":false,\"endRow\":\"enp5eng=\"," |
| 159 | + + "\"endTime\":1245393318192,\"maxVersions\":2147483647,\"startRow\":\"YWJyYWNhZGFicmE=\"," |
| 160 | + + "\"startTime\":1245219839331,\"column\":[\"Y29sdW1uMQ==\",\"Y29sdW1uMjpmb28=\"]," |
| 161 | + + "\"labels\":[\"private\",\"public\"]," + "\"limit\":10000," |
| 162 | + + "\"includeStartRow\":false,\"includeStopRow\":true}"; |
| 163 | + |
| 164 | + ObjectNode expObj = mapper.readValue(jsonStr, ObjectNode.class); |
| 165 | + ObjectNode actObj = mapper.readValue( |
| 166 | + toJSON(buildTestModelWithIncludeStartRowAndIncludeStopRow(false, true)), ObjectNode.class); |
| 167 | + assertEquals(expObj, actObj); |
| 168 | + |
| 169 | + jsonStr = "{\"batch\":100,\"caching\":1000,\"cacheBlocks\":false,\"endRow\":\"enp5eng=\"," |
| 170 | + + "\"endTime\":1245393318192,\"maxVersions\":2147483647,\"startRow\":\"YWJyYWNhZGFicmE=\"," |
| 171 | + + "\"startTime\":1245219839331,\"column\":[\"Y29sdW1uMQ==\",\"Y29sdW1uMjpmb28=\"]," |
| 172 | + + "\"labels\":[\"private\",\"public\"]," + "\"limit\":10000," + "\"includeStopRow\":true}"; |
| 173 | + |
| 174 | + expObj = mapper.readValue(jsonStr, ObjectNode.class); |
| 175 | + actObj = mapper.readValue( |
| 176 | + toJSON(buildTestModelWithIncludeStartRowAndIncludeStopRow(true, true)), ObjectNode.class); |
| 177 | + assertEquals(expObj, actObj); |
| 178 | + |
| 179 | + jsonStr = "{\"batch\":100,\"caching\":1000,\"cacheBlocks\":false,\"endRow\":\"enp5eng=\"," |
| 180 | + + "\"endTime\":1245393318192,\"maxVersions\":2147483647,\"startRow\":\"YWJyYWNhZGFicmE=\"," |
| 181 | + + "\"startTime\":1245219839331,\"column\":[\"Y29sdW1uMQ==\",\"Y29sdW1uMjpmb28=\"]," |
| 182 | + + "\"labels\":[\"private\",\"public\"]," + "\"limit\":10000," + "\"includeStartRow\":false}"; |
| 183 | + |
| 184 | + expObj = mapper.readValue(jsonStr, ObjectNode.class); |
| 185 | + actObj = mapper.readValue( |
| 186 | + toJSON(buildTestModelWithIncludeStartRowAndIncludeStopRow(false, false)), ObjectNode.class); |
| 187 | + assertEquals(expObj, actObj); |
| 188 | + |
| 189 | + } |
| 190 | + |
| 191 | + protected ScannerModel buildTestModelWithIncludeStartRowAndIncludeStopRow(boolean includeStartRow, |
| 192 | + boolean includeStopRow) { |
| 193 | + ScannerModel model = new ScannerModel(); |
| 194 | + model.setStartRow(START_ROW); |
| 195 | + model.setEndRow(END_ROW); |
| 196 | + model.addColumn(COLUMN1); |
| 197 | + model.addColumn(COLUMN2); |
| 198 | + model.setStartTime(START_TIME); |
| 199 | + model.setEndTime(END_TIME); |
| 200 | + model.setBatch(BATCH); |
| 201 | + model.setCaching(CACHING); |
| 202 | + model.addLabel(PRIVATE); |
| 203 | + model.addLabel(PUBLIC); |
| 204 | + model.setCacheBlocks(CACHE_BLOCKS); |
| 205 | + model.setLimit(LIMIT); |
| 206 | + model.setIncludeStartRow(includeStartRow); |
| 207 | + model.setIncludeStopRow(includeStopRow); |
| 208 | + return model; |
| 209 | + } |
154 | 210 | }
|
0 commit comments