Skip to content

Commit

Permalink
Improved the tests
Browse files Browse the repository at this point in the history
  • Loading branch information
malhotrashivam committed Feb 29, 2024
1 parent 3e48937 commit e584343
Showing 1 changed file with 33 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -575,6 +575,17 @@ public void writeKeyValuePartitionedDataWithIntegerPartitionsTest() {
.setMetadataRootDir(parentDir.getAbsolutePath())
.build();
writeKeyValuePartitionedTable(inputData, parentDir, "data", writeInstructions);

// Verify that the partitioned data exists
for (int PC1 = 0; PC1 <= 2; PC1++) {
for (int PC2 = 0; PC2 <= 1; PC2++) {
final File dir = new File(parentDir, "PC1=" + PC1 + File.separator + "PC2=" + PC2);
assertTrue(dir.exists() && dir.isDirectory());
final File dataFile = new File(dir, "data.parquet");
assertTrue(dataFile.exists() && dataFile.isFile());
}
}

final Table fromDisk = readKeyValuePartitionedTable(parentDir, EMPTY);
assertTableEquals(inputData.sort("PC1", "PC2"), fromDisk.sort("PC1", "PC2"));

Expand All @@ -593,7 +604,7 @@ public void writeKeyValuePartitionedDataWithMixedPartitionsTest() {
final Table inputData = ((QueryTable) TableTools.emptyTable(10)
.updateView("PC1 = (int)(ii%3)",
"PC2 = (char)(65 + (ii % 2))",
"PC3 = java.time.LocalDate.ofEpochDay(i%5).toString()",
"PC3 = java.time.LocalDate.ofEpochDay(i%2).toString()",
"I = ii"))
.withDefinitionUnsafe(definition);

Expand All @@ -602,6 +613,19 @@ public void writeKeyValuePartitionedDataWithMixedPartitionsTest() {
.setMetadataRootDir(parentDir.getAbsolutePath())
.build();
writeKeyValuePartitionedTable(inputData, parentDir, "data", writeInstructions);

// Verify that the partitioned data exists
for (int PC1 = 0; PC1 <= 2; PC1++) {
for (int idx = 0; idx <= 1; idx++) {
final char PC2 = (char) ('A' + idx);
final String PC3 = java.time.LocalDate.ofEpochDay(idx).toString();
final File dir = new File(parentDir, "PC1=" + PC1 + File.separator + "PC2=" + PC2 +
File.separator + "PC3=" + PC3);
assertTrue(dir.exists() && dir.isDirectory());
final File dataFile = new File(dir, "data.parquet");
assertTrue(dataFile.exists() && dataFile.isFile());
}
}
Table fromDisk = readKeyValuePartitionedTable(parentDir, EMPTY);
assertTableEquals(inputData.sort("PC1", "PC2"), fromDisk.sort("PC1", "PC2"));

Expand All @@ -613,8 +637,8 @@ public void writeKeyValuePartitionedDataWithMixedPartitionsTest() {
// required partitions
FileUtils.deleteRecursivelyOnNFS(new File(parentDir, "PC1=0"));
FileUtils.deleteRecursivelyOnNFS(new File(parentDir, "PC1=1"));
fromDisk = readTable(commonMetadata).where("PC1 == 2");
assertTableEquals(inputData.where("PC1 == 2"), fromDisk);
assertTableEquals(inputData.where("PC1 == 2").sort("PC1", "PC2", "PC3"),
readTable(commonMetadata).where("PC1 == 2").sort("PC1", "PC2", "PC3"));
}

@Test
Expand All @@ -638,6 +662,11 @@ public void someMoreKeyValuePartitionedTestsWithComplexKeys() {
final PartitionedTable partitionedTable =
inputData.partitionBy("symbol", "epic_collection_id", "epic_request_id");
writeKeyValuePartitionedTable(partitionedTable, parentDir, "data", writeInstructions);
assertTrue(new File(parentDir,
"symbol=AA/epic_collection_id=fss_tick%1234%4321/epic_request_id=223ea-asd43/data.parquet").exists());
assertTrue(new File(parentDir,
"symbol=BB/epic_collection_id=fss_tick%5678%8765/epic_request_id=98dce-oiu23/data.parquet").exists());

final Table fromDisk = readKeyValuePartitionedTable(parentDir, EMPTY);
assertTableEquals(inputData.sort("symbol", "epic_collection_id"),
fromDisk.sort("symbol", "epic_collection_id"));
Expand Down Expand Up @@ -1025,7 +1054,7 @@ private interface TestParquetTableWriter {
*/
private static void verifyFilesInDir(final File parentDir, final String[] expectedDataFiles,
@Nullable final Map<String, String[]> indexingColumnToFileMap) {
final List filesInParentDir = Arrays.asList(parentDir.list());
final List<String> filesInParentDir = Arrays.asList(parentDir.list());
for (String expectedFile : expectedDataFiles) {
assertTrue(filesInParentDir.contains(expectedFile));
}
Expand Down

0 comments on commit e584343

Please sign in to comment.