@@ -575,9 +575,12 @@ public void testHiddenPartitionPathsWithPartitionEvolution() {
575575 waitUntilAfter (System .currentTimeMillis ());
576576
577577 SparkActions actions = SparkActions .get ();
578+ DeleteOrphanFilesSparkAction action =
579+ actions .deleteOrphanFiles (table ).olderThan (System .currentTimeMillis ());
580+ // test list methods by directly instantiating the action
581+ assertThatDatasetsAreEqualIgnoringOrder (action .listWithPrefix (), action .listWithoutPrefix ());
578582
579- DeleteOrphanFiles .Result result =
580- actions .deleteOrphanFiles (table ).olderThan (System .currentTimeMillis ()).execute ();
583+ DeleteOrphanFiles .Result result = action .execute ();
581584
582585 assertThat (result .orphanFileLocations ()).as ("Should delete 2 files" ).hasSize (2 );
583586 }
@@ -610,9 +613,12 @@ public void testHiddenPathsStartingWithPartitionNamesAreIgnored() throws IOExcep
610613 waitUntilAfter (System .currentTimeMillis ());
611614
612615 SparkActions actions = SparkActions .get ();
616+ DeleteOrphanFilesSparkAction action =
617+ actions .deleteOrphanFiles (table ).olderThan (System .currentTimeMillis ());
618+ // test list methods by directly instantiating the action
619+ assertThatDatasetsAreEqualIgnoringOrder (action .listWithPrefix (), action .listWithoutPrefix ());
613620
614- DeleteOrphanFiles .Result result =
615- actions .deleteOrphanFiles (table ).olderThan (System .currentTimeMillis ()).execute ();
621+ DeleteOrphanFiles .Result result = action .execute ();
616622
617623 assertThat (result .orphanFileLocations ()).as ("Should delete 0 files" ).isEmpty ();
618624 assertThat (fs .exists (pathToFileInHiddenFolder )).isTrue ();
@@ -675,12 +681,10 @@ public void testRemoveOrphanFilesWithRelativeFilePath() throws IOException {
675681 waitUntilAfter (System .currentTimeMillis ());
676682
677683 SparkActions actions = SparkActions .get ();
678- DeleteOrphanFiles .Result result =
679- actions
680- .deleteOrphanFiles (table )
681- .olderThan (System .currentTimeMillis ())
682- .deleteWith (s -> {})
683- .execute ();
684+ DeleteOrphanFilesSparkAction action =
685+ actions .deleteOrphanFiles (table ).olderThan (System .currentTimeMillis ()).deleteWith (s -> {});
686+ assertThatDatasetsAreEqualIgnoringOrder (action .listWithPrefix (), action .listWithoutPrefix ());
687+ DeleteOrphanFiles .Result result = action .execute ();
684688 assertThat (result .orphanFileLocations ())
685689 .as ("Action should find 1 file" )
686690 .isEqualTo (invalidFiles );
@@ -713,8 +717,11 @@ public void testRemoveOrphanFilesWithHadoopCatalog() throws InterruptedException
713717
714718 table .refresh ();
715719
716- DeleteOrphanFiles .Result result =
717- SparkActions .get ().deleteOrphanFiles (table ).olderThan (System .currentTimeMillis ()).execute ();
720+ DeleteOrphanFilesSparkAction action =
721+ SparkActions .get ().deleteOrphanFiles (table ).olderThan (System .currentTimeMillis ());
722+ assertThatDatasetsAreEqualIgnoringOrder (action .listWithPrefix (), action .listWithoutPrefix ());
723+
724+ DeleteOrphanFiles .Result result = action .execute ();
718725
719726 assertThat (result .orphanFileLocations ()).as ("Should delete only 1 file" ).hasSize (1 );
720727
@@ -854,12 +861,14 @@ public void testCompareToFileList() throws IOException {
854861 .as ("Invalid file should be present" )
855862 .isTrue ();
856863
857- DeleteOrphanFiles . Result result3 =
864+ DeleteOrphanFilesSparkAction action3 =
858865 actions
859866 .deleteOrphanFiles (table )
860867 .compareToFileList (compareToFileList )
861- .olderThan (System .currentTimeMillis ())
862- .execute ();
868+ .olderThan (System .currentTimeMillis ());
869+ assertThatDatasetsAreEqualIgnoringOrder (action3 .listWithPrefix (), action3 .listWithoutPrefix ());
870+
871+ DeleteOrphanFiles .Result result3 = action3 .execute ();
863872 assertThat (result3 .orphanFileLocations ())
864873 .as ("Action should delete 1 file" )
865874 .isEqualTo (invalidFilePaths );
@@ -885,12 +894,14 @@ public void testCompareToFileList() throws IOException {
885894 .withColumnRenamed ("filePath" , "file_path" )
886895 .withColumnRenamed ("lastModified" , "last_modified" );
887896
888- DeleteOrphanFiles . Result result4 =
897+ DeleteOrphanFilesSparkAction action4 =
889898 actions
890899 .deleteOrphanFiles (table )
891900 .compareToFileList (compareToFileListWithOutsideLocation )
892- .deleteWith (s -> {})
893- .execute ();
901+ .deleteWith (s -> {});
902+ assertThatDatasetsAreEqualIgnoringOrder (action4 .listWithPrefix (), action4 .listWithoutPrefix ());
903+
904+ DeleteOrphanFiles .Result result4 = action4 .execute ();
894905 assertThat (result4 .orphanFileLocations ()).as ("Action should find nothing" ).isEmpty ();
895906 }
896907
@@ -1100,4 +1111,10 @@ private void executeTest(
11001111 spark , toFileUri .apply (actualFileDS ), toFileUri .apply (validFileDS ), mode );
11011112 assertThat (orphanFiles ).isEqualTo (expectedOrphanFiles );
11021113 }
1114+
1115+ private void assertThatDatasetsAreEqualIgnoringOrder (Dataset <String > actual , Dataset <String > expected ) {
1116+ assertThat (actual .collectAsList ())
1117+ .as ("same as" )
1118+ .containsExactlyInAnyOrderElementsOf (expected .collectAsList ());
1119+ }
11031120}
0 commit comments