Skip to content

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
  • Loading branch information
Rong Rong committed Nov 10, 2022
1 parent d4b8b52 commit 3e66408
Showing 1 changed file with 26 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import org.apache.pinot.segment.spi.V1Constants;
import org.apache.pinot.segment.spi.index.metadata.SegmentMetadataImpl;
import org.apache.pinot.segment.spi.store.ColumnIndexType;
import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.utils.JsonUtils;
import org.apache.pinot.spi.utils.builder.TableNameBuilder;
import org.testng.Assert;
Expand Down Expand Up @@ -104,28 +105,31 @@ public void getSegments()
@Test
public void getTableMetadata()
throws Exception {
String tableMetadataPath = "/tables/" + TableNameBuilder.REALTIME.tableNameWithType(TABLE_NAME) + "/metadata";

JsonNode jsonResponse =
JsonUtils.stringToJsonNode(_webTarget.path(tableMetadataPath).request().get(String.class));
TableMetadataInfo metadataInfo = JsonUtils.jsonNodeToObject(jsonResponse, TableMetadataInfo.class);
Assert.assertNotNull(metadataInfo);
Assert.assertEquals(metadataInfo.getNumSegments(), 2);
Assert.assertEquals(metadataInfo.getTableName(), TableNameBuilder.REALTIME.tableNameWithType(TABLE_NAME));
Assert.assertEquals(metadataInfo.getColumnLengthMap().size(), 0);
Assert.assertEquals(metadataInfo.getColumnCardinalityMap().size(), 0);
Assert.assertEquals(metadataInfo.getColumnIndexSizeMap().size(), 0);

jsonResponse = JsonUtils.stringToJsonNode(_webTarget.path(tableMetadataPath)
.queryParam("columns", "column1").queryParam("columns", "column2").request().get(String.class));
metadataInfo = JsonUtils.jsonNodeToObject(jsonResponse, TableMetadataInfo.class);
Assert.assertEquals(metadataInfo.getColumnLengthMap().size(), 2);
Assert.assertEquals(metadataInfo.getColumnCardinalityMap().size(), 2);
Assert.assertEquals(metadataInfo.getColumnIndexSizeMap().size(), 2);
Assert.assertTrue(metadataInfo.getColumnIndexSizeMap().get("column1")
.containsKey(ColumnIndexType.DICTIONARY.getIndexName()));
Assert.assertTrue(metadataInfo.getColumnIndexSizeMap().get("column2")
.containsKey(ColumnIndexType.FORWARD_INDEX.getIndexName()));
for (TableType tableType : TableType.values()) {
String tableMetadataPath = "/tables/" + TableNameBuilder.forType(tableType).tableNameWithType(TABLE_NAME)
+ "/metadata";

JsonNode jsonResponse =
JsonUtils.stringToJsonNode(_webTarget.path(tableMetadataPath).request().get(String.class));
TableMetadataInfo metadataInfo = JsonUtils.jsonNodeToObject(jsonResponse, TableMetadataInfo.class);
Assert.assertNotNull(metadataInfo);
Assert.assertEquals(metadataInfo.getTableName(), TableNameBuilder.forType(tableType)
.tableNameWithType(TABLE_NAME));
Assert.assertEquals(metadataInfo.getColumnLengthMap().size(), 0);
Assert.assertEquals(metadataInfo.getColumnCardinalityMap().size(), 0);
Assert.assertEquals(metadataInfo.getColumnIndexSizeMap().size(), 0);

jsonResponse = JsonUtils.stringToJsonNode(_webTarget.path(tableMetadataPath)
.queryParam("columns", "column1").queryParam("columns", "column2").request().get(String.class));
metadataInfo = JsonUtils.jsonNodeToObject(jsonResponse, TableMetadataInfo.class);
Assert.assertEquals(metadataInfo.getColumnLengthMap().size(), 2);
Assert.assertEquals(metadataInfo.getColumnCardinalityMap().size(), 2);
Assert.assertEquals(metadataInfo.getColumnIndexSizeMap().size(), 2);
Assert.assertTrue(metadataInfo.getColumnIndexSizeMap().get("column1")
.containsKey(ColumnIndexType.DICTIONARY.getIndexName()));
Assert.assertTrue(metadataInfo.getColumnIndexSizeMap().get("column2")
.containsKey(ColumnIndexType.FORWARD_INDEX.getIndexName()));
}

// No such table
Response response = _webTarget.path("/tables/noSuchTable/metadata").request().get(Response.class);
Expand Down

0 comments on commit 3e66408

Please sign in to comment.