diff --git a/airbyte-integrations/bases/standard-destination-test/src/main/java/io/airbyte/integrations/standardtest/destination/DestinationAcceptanceTest.java b/airbyte-integrations/bases/standard-destination-test/src/main/java/io/airbyte/integrations/standardtest/destination/DestinationAcceptanceTest.java index f73f961402008..899f7cb3ff000 100644 --- a/airbyte-integrations/bases/standard-destination-test/src/main/java/io/airbyte/integrations/standardtest/destination/DestinationAcceptanceTest.java +++ b/airbyte-integrations/bases/standard-destination-test/src/main/java/io/airbyte/integrations/standardtest/destination/DestinationAcceptanceTest.java @@ -1217,8 +1217,7 @@ protected void runSyncAndVerifyStateOutput(final JsonNode config, final List destinationOutput = runSync(config, messages, catalog, runNormalization); - Collections.reverse(messages); - final AirbyteMessage expectedStateMessage = messages + final AirbyteMessage expectedStateMessage = reversed(messages) .stream() .filter(m -> m.getType() == Type.STATE) .findFirst() @@ -1238,6 +1237,20 @@ protected void runSyncAndVerifyStateOutput(final JsonNode config, assertEquals(expectedStateMessage, actualStateMessage); } + /** + * Reverses a list by creating a new list with the same elements of the input list and then + * reversing it. The input list will not be altered. + * + * @param list to reverse + * @param type + * @return new list with elements of original reversed. + */ + public static List reversed(final List list) { + final ArrayList reversed = new ArrayList<>(list); + Collections.reverse(reversed); + return reversed; + } + private List runSync( final JsonNode config, final List messages,