From 4d0ed63dd7091f4217696a2da93bb5eae567c947 Mon Sep 17 00:00:00 2001 From: Mahmoud Ben Hassine Date: Wed, 24 Aug 2022 14:59:19 +0200 Subject: [PATCH] Deprecate AssertFile Resolves #4181 --- .../sample/MultilineOrderJobFunctionalTests.java | 10 +++++++--- .../sample/RestartFileSampleFunctionalTests.java | 12 +++++++++--- .../sample/iosample/MultiLineFunctionalTests.java | 9 +++++++-- .../iosample/MultiRecordTypeFunctionalTests.java | 9 +++++++-- .../org/springframework/batch/test/AssertFile.java | 4 ++++ 5 files changed, 34 insertions(+), 10 deletions(-) diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/MultilineOrderJobFunctionalTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/MultilineOrderJobFunctionalTests.java index 0a9891c00..041faa003 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/MultilineOrderJobFunctionalTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/MultilineOrderJobFunctionalTests.java @@ -16,6 +16,10 @@ package org.springframework.batch.sample; +import java.nio.file.Files; +import java.nio.file.Path; + +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.batch.core.Job; @@ -25,8 +29,6 @@ import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.FileSystemResource; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; -import static org.springframework.batch.test.AssertFile.assertFileEquals; - @SpringJUnitConfig( locations = { "/simple-job-launcher-context.xml", "/jobs/multilineOrderJob.xml", "/job-runner-context.xml" }) class MultilineOrderJobFunctionalTests { @@ -42,7 +44,9 @@ class MultilineOrderJobFunctionalTests { void testJobLaunch(@Autowired Job job) throws Exception { this.jobLauncherTestUtils.setJob(job); this.jobLauncherTestUtils.launchJob(); - assertFileEquals(new ClassPathResource(EXPECTED), new FileSystemResource(ACTUAL)); + Path expectedFile = new ClassPathResource(EXPECTED).getFile().toPath(); + Path actualFile = new FileSystemResource(ACTUAL).getFile().toPath(); + Assertions.assertLinesMatch(Files.lines(expectedFile), Files.lines(actualFile)); } } diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/RestartFileSampleFunctionalTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/RestartFileSampleFunctionalTests.java index ed1a68e4b..c4aad2572 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/RestartFileSampleFunctionalTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/RestartFileSampleFunctionalTests.java @@ -16,6 +16,11 @@ package org.springframework.batch.sample; +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; + +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.batch.core.BatchStatus; @@ -25,7 +30,6 @@ import org.springframework.batch.core.JobParameters; import org.springframework.batch.item.Chunk; import org.springframework.batch.item.file.FlatFileItemWriter; import org.springframework.batch.sample.domain.trade.CustomerCredit; -import org.springframework.batch.test.AssertFile; import org.springframework.batch.test.JobLauncherTestUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.Resource; @@ -56,11 +60,13 @@ class RestartFileSampleFunctionalTests { JobExecution je1 = jobLauncherTestUtils.launchJob(jobParameters); assertEquals(BatchStatus.FAILED, je1.getStatus()); - AssertFile.assertLineCount(10, outputResource); + Path outputResourceFile = outputResource.getFile().toPath(); + Assertions.assertEquals(10, Files.lines(outputResourceFile).count()); JobExecution je2 = jobLauncherTestUtils.launchJob(jobParameters); assertEquals(BatchStatus.COMPLETED, je2.getStatus()); - AssertFile.assertLineCount(20, outputResource); + outputResourceFile = outputResource.getFile().toPath(); + Assertions.assertEquals(20, Files.lines(outputResourceFile).count()); } static class CustomerCreditFlatFileItemWriter extends FlatFileItemWriter { diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/MultiLineFunctionalTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/MultiLineFunctionalTests.java index dc39241bc..68caf23ff 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/MultiLineFunctionalTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/MultiLineFunctionalTests.java @@ -16,10 +16,13 @@ package org.springframework.batch.sample.iosample; +import java.nio.file.Files; +import java.nio.file.Path; + +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.batch.core.Job; -import org.springframework.batch.test.AssertFile; import org.springframework.batch.test.JobLauncherTestUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.FileSystemResource; @@ -54,7 +57,9 @@ class MultiLineFunctionalTests { this.jobLauncherTestUtils.launchJob(); // then - AssertFile.assertFileEquals(new FileSystemResource(INPUT_FILE), new FileSystemResource(OUTPUT_FILE)); + Path inputFile = new FileSystemResource(INPUT_FILE).getFile().toPath(); + Path outputFile = new FileSystemResource(OUTPUT_FILE).getFile().toPath(); + Assertions.assertLinesMatch(Files.lines(inputFile), Files.lines(outputFile)); } } diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/MultiRecordTypeFunctionalTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/MultiRecordTypeFunctionalTests.java index 3db389f7c..db262fa24 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/MultiRecordTypeFunctionalTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/MultiRecordTypeFunctionalTests.java @@ -16,10 +16,13 @@ package org.springframework.batch.sample.iosample; +import java.nio.file.Files; +import java.nio.file.Path; + +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.batch.core.Job; -import org.springframework.batch.test.AssertFile; import org.springframework.batch.test.JobLauncherTestUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.FileSystemResource; @@ -54,7 +57,9 @@ class MultiRecordTypeFunctionalTests { jobLauncherTestUtils.launchJob(); // then - AssertFile.assertFileEquals(new FileSystemResource(INPUT_FILE), new FileSystemResource(OUTPUT_FILE)); + Path inputFile = new FileSystemResource(INPUT_FILE).getFile().toPath(); + Path outputFile = new FileSystemResource(OUTPUT_FILE).getFile().toPath(); + Assertions.assertLinesMatch(Files.lines(inputFile), Files.lines(outputFile)); } } diff --git a/spring-batch-test/src/main/java/org/springframework/batch/test/AssertFile.java b/spring-batch-test/src/main/java/org/springframework/batch/test/AssertFile.java index f8fc2a832..625cbf8d7 100644 --- a/spring-batch-test/src/main/java/org/springframework/batch/test/AssertFile.java +++ b/spring-batch-test/src/main/java/org/springframework/batch/test/AssertFile.java @@ -28,8 +28,12 @@ import org.springframework.util.Assert; * * @author Dan Garrette * @author Glenn Renfro + * @author Mahmoud Ben Hassine * @since 2.0 + * @deprecated since 5.0 (for removal in 5.2) in favor of test utilities provided by + * modern test libraries like JUnit 5, AssertJ, etc. */ +@Deprecated(since = "5.0", forRemoval = true) public abstract class AssertFile { public static void assertFileEquals(File expected, File actual) throws Exception {