Skip to content

Commit fc1ba78

Browse files
committed
Fix flaky test, ignore order of elements in list validation
1 parent c76692b commit fc1ba78

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

xtable-core/src/test/java/org/apache/xtable/hudi/TestBaseFileUpdatesExtractor.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.util.Arrays;
2929
import java.util.Collections;
3030
import java.util.HashMap;
31+
import java.util.HashSet;
3132
import java.util.List;
3233
import java.util.Map;
3334
import java.util.UUID;
@@ -135,7 +136,7 @@ void convertDiff() {
135136
expectedPartitionToReplacedFileIds.put(
136137
partitionPath1, Arrays.asList(fileName3, fileIdForFile4));
137138
expectedPartitionToReplacedFileIds.put(partitionPath2, Collections.singletonList(fileName5));
138-
assertEquals(
139+
assertEqualsIgnoreOrder(
139140
expectedPartitionToReplacedFileIds, replaceMetadata.getPartitionToReplacedFileIds());
140141

141142
// validate added files
@@ -146,6 +147,16 @@ void convertDiff() {
146147
assertWriteStatusesEquivalent(expectedWriteStatuses, replaceMetadata.getWriteStatuses());
147148
}
148149

150+
private void assertEqualsIgnoreOrder(
151+
Map<String, List<String>> expected, Map<String, List<String>> actual) {
152+
for (Map.Entry<String, List<String>> entry : expected.entrySet()) {
153+
List<?> expectedList = entry.getValue();
154+
List<?> actualList = actual.get(entry.getKey());
155+
assertEquals(expectedList.size(), actualList.size());
156+
assertEquals(new HashSet<>(expectedList), new HashSet<>(actualList));
157+
}
158+
}
159+
149160
@Test
150161
void extractSnapshotChanges_emptyTargetTable() throws IOException {
151162
String tableBasePath = tempDir.resolve(UUID.randomUUID().toString()).toString();

0 commit comments

Comments
 (0)