diff --git a/pom.xml b/pom.xml index a68fe0e..77b756c 100644 --- a/pom.xml +++ b/pom.xml @@ -28,13 +28,13 @@ maven-verifier - 1.8.1-SNAPSHOT + 2.0.0-SNAPSHOT Apache Maven Verifier Component Provides a test harness for Maven integration tests. - 7 + 8 2022-03-19T12:57:53Z @@ -73,14 +73,16 @@ - junit - junit - 4.13.2 + org.junit.jupiter + junit-jupiter + 5.8.0 + test org.hamcrest hamcrest-core 2.2 + test diff --git a/src/main/java/org/apache/maven/it/Verifier.java b/src/main/java/org/apache/maven/it/Verifier.java index 5313698..ebf54cb 100644 --- a/src/main/java/org/apache/maven/it/Verifier.java +++ b/src/main/java/org/apache/maven/it/Verifier.java @@ -59,7 +59,6 @@ import org.apache.maven.shared.utils.cli.StreamConsumer; import org.apache.maven.shared.utils.cli.WriterStreamConsumer; import org.apache.maven.shared.utils.io.FileUtils; -import org.junit.Assert; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; @@ -1046,24 +1045,6 @@ public void verifyFilePresent( String file ) throws VerificationException verifyFilePresence( file, true ); } - /** - * - * @param file the path of the file to check - * @deprecated Use {@link #verifyFilePresent(String)} instead. - */ - @Deprecated - public void assertFilePresent( String file ) - { - try - { - verifyFilePresent( file ); - } - catch ( VerificationException e ) - { - Assert.fail( e.getMessage() ); - } - } - /** * Verifies the given file's content matches an regular expression. * Note this method also checks that the file exists and is readable. @@ -1090,28 +1071,6 @@ public void verifyFileContentMatches( String file, String regex ) throws Verific } } - /** - * Check the given file's content matches a regular expression. Note this method also checks that the file exists - * and is readable. - * - * @param file the path of the file to check - * @param regex a regular expression that the file's contents should match - * @see Pattern - * @deprecated Use {@link #verifyFileContentMatches(String, String)} instead. - */ - @Deprecated - public void assertFileMatches( String file, String regex ) - { - try - { - verifyFileContentMatches( file, regex ); - } - catch ( VerificationException e ) - { - Assert.fail( e.getMessage() ); - } - } - /** * Verifies that the given file does not exist. * @@ -1123,24 +1082,6 @@ public void verifyFileNotPresent( String file ) throws VerificationException verifyFilePresence( file, false ); } - /** - * - * @param file the path of the file to check - * @deprecated Use {@link #verifyFileNotPresent(String)} instead. - */ - @Deprecated - public void assertFileNotPresent( String file ) - { - try - { - verifyFileNotPresent( file ); - } - catch ( VerificationException e ) - { - Assert.fail( e.getMessage() ); - } - } - private void verifyArtifactPresence( boolean wanted, String groupId, String artifactId, String version, String ext ) throws VerificationException { @@ -1181,36 +1122,6 @@ public void verifyArtifactNotPresent( String groupId, String artifactId, String verifyArtifactPresence( false, groupId, artifactId, version, ext ); } - private void assertArtifactPresence( boolean wanted, String org, String name, String version, String ext ) - { - try - { - verifyArtifactPresence( wanted, org, name, version, ext ); - } - catch ( VerificationException e ) - { - Assert.fail( e.getMessage() ); - } - } - - /** - * @deprecated Use {@link #verifyArtifactPresent(String, String, String, String)} instead. - */ - @Deprecated - public void assertArtifactPresent( String org, String name, String version, String ext ) - { - assertArtifactPresence( true, org, name, version, ext ); - } - - /** - * @deprecated Use {@link #verifyArtifactNotPresent(String, String, String, String)} instead. - */ - @Deprecated - public void assertArtifactNotPresent( String org, String name, String version, String ext ) - { - assertArtifactPresence( false, org, name, version, ext ); - } - private void verifyExpectedResult( String line ) throws VerificationException { @@ -1916,17 +1827,6 @@ public void verifyArtifactContent( String groupId, String artifactId, String ver } } - /** - * @deprecated Use {@link #verifyArtifactContent(String, String, String, String, String)} instead. - */ - @Deprecated - public void assertArtifactContents( String org, String artifact, String version, String type, String contents ) - throws IOException - { - String fileName = getArtifactPath( org, artifact, version, type ); - Assert.assertEquals( contents, FileUtils.fileRead( fileName ) ); - } - static class UserModelReader extends DefaultHandler { diff --git a/src/test/java/org/apache/maven/it/Embedded3xLauncherTest.java b/src/test/java/org/apache/maven/it/Embedded3xLauncherTest.java index 9548a1b..d58c495 100644 --- a/src/test/java/org/apache/maven/it/Embedded3xLauncherTest.java +++ b/src/test/java/org/apache/maven/it/Embedded3xLauncherTest.java @@ -19,22 +19,22 @@ * under the License. */ -import java.io.File; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.Properties; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; + public class Embedded3xLauncherTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public Path temporaryDir; private final String workingDir = Paths.get( "src/test/resources" ).toAbsolutePath().toString(); @@ -56,11 +56,11 @@ public void testWithMavenHome() throws Exception private void runLauncher( MavenLauncher launcher ) throws Exception { - File logFile = temporaryFolder.newFile( "build.log" ); + Path logFile = temporaryDir.resolve( "build.log" ); - int exitCode = launcher.run( new String[] {"clean"}, new Properties(), workingDir, logFile ); + int exitCode = launcher.run( new String[] {"clean"}, new Properties(), workingDir, logFile.toFile() ); assertThat( "exit code unexpected, build log: " + System.lineSeparator() + - new String( Files.readAllBytes( logFile.toPath() ) ), exitCode, is( 0 ) ); + new String( Files.readAllBytes( logFile ) ), exitCode, is( 0 ) ); } } diff --git a/src/test/java/org/apache/maven/it/ForkedLauncherTest.java b/src/test/java/org/apache/maven/it/ForkedLauncherTest.java index 1173593..7808cae 100644 --- a/src/test/java/org/apache/maven/it/ForkedLauncherTest.java +++ b/src/test/java/org/apache/maven/it/ForkedLauncherTest.java @@ -22,26 +22,27 @@ */ import static org.hamcrest.Matchers.is; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; +import java.nio.file.Files; import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Properties; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + public class ForkedLauncherTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public Path temporaryDir; private ForkedLauncher launcher; @@ -50,10 +51,10 @@ public class ForkedLauncherTest @Test public void mvnw() throws Exception { - launcher = new ForkedLauncher( ".", Collections.emptyMap(), false, true ); - File logFile = temporaryFolder.newFile( "build.log" ); + launcher = new ForkedLauncher( ".", Collections.emptyMap(), false, true ); + Path logFile = temporaryDir.resolve( "build.log" ); - int exitCode = launcher.run( new String[0], new Properties(), workingDir, logFile ); + int exitCode = launcher.run( new String[0], new Properties(), workingDir, logFile.toFile() ); // most likely this contains the exception in case exitCode != 0 expectFileLine( logFile, "Hello World" ); @@ -64,10 +65,10 @@ public void mvnw() throws Exception @Test public void mvnwDebug() throws Exception { - launcher = new ForkedLauncher( ".", Collections.emptyMap(), true, true ); - File logFile = temporaryFolder.newFile( "build.log" ); + launcher = new ForkedLauncher( ".", Collections.emptyMap(), true, true ); + Path logFile = temporaryDir.resolve( "build.log" ); - int exitCode = launcher.run( new String[0], new Properties(), workingDir, logFile ); + int exitCode = launcher.run( new String[0], new Properties(), workingDir, logFile.toFile() ); // most likely this contains the exception in case exitCode != 0 expectFileLine( logFile, "Hello World" ); @@ -75,10 +76,9 @@ public void mvnwDebug() throws Exception assertThat( "exit code", exitCode , is ( 0 ) ); } - static void expectFileLine( File file, String expectedline ) throws IOException + static void expectFileLine( Path file, String expectedline ) throws IOException { - try ( FileReader fr = new FileReader( file ); - BufferedReader br = new BufferedReader( fr ) ) + try ( BufferedReader br = Files.newBufferedReader( file, StandardCharsets.UTF_8 ) ) { Collection text = new ArrayList<>(); String line; @@ -91,8 +91,8 @@ static void expectFileLine( File file, String expectedline ) throws IOException text.add( line ); } - String message = "%s doesn't contain '%s', was:\n%s"; - fail( String.format( message, file.getName(), expectedline, text ) ); + String message = "%s doesn't contain '%s', was:%n%s"; + fail( String.format( message, file.getFileName(), expectedline, text ) ); } } diff --git a/src/test/java/org/apache/maven/it/VerifierTest.java b/src/test/java/org/apache/maven/it/VerifierTest.java index 69cd80a..f80cb1d 100644 --- a/src/test/java/org/apache/maven/it/VerifierTest.java +++ b/src/test/java/org/apache/maven/it/VerifierTest.java @@ -19,28 +19,24 @@ * under the License. */ -import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; import java.util.Properties; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; -import static org.hamcrest.CoreMatchers.isA; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertThrows; public class VerifierTest { - @Rule - public final ExpectedException exception = ExpectedException.none(); - - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public Path temporaryDir; private void check( String expected, String... lines ) { @@ -90,8 +86,8 @@ public void testFileInJarPresent() { //File file = new File( "src/test/resources/mshared104.jar!fud.xml" ); Verifier verifier = new Verifier( "src/test/resources" ); - verifier.assertFilePresent( "mshared104.jar!/pom.xml" ); - verifier.assertFileNotPresent( "mshared104.jar!/fud.xml" ); + verifier.verifyFilePresent( "mshared104.jar!/pom.xml" ); + verifier.verifyFileNotPresent( "mshared104.jar!/fud.xml" ); } @Test @@ -105,19 +101,20 @@ public void testStripAnsi() @Test public void testLoadPropertiesFNFE() throws VerificationException { - exception.expectCause( isA( FileNotFoundException.class ) ); - - Verifier verifier = new Verifier( "src/test/resources" ); - verifier.loadProperties( "unknown.properties" ); + VerificationException exception = assertThrows( VerificationException.class, () -> { + Verifier verifier = new Verifier( "src/test/resources" ); + verifier.loadProperties( "unknown.properties" ); + } ); + assertInstanceOf( FileNotFoundException.class, exception.getCause() ); } @Test public void testDedicatedMavenHome() throws VerificationException, IOException { String mavenHome = Paths.get( "src/test/resources/maven-home" ).toAbsolutePath().toString(); - Verifier verifier = new Verifier( temporaryFolder.getRoot().toString(), null, false, mavenHome ); + Verifier verifier = new Verifier( temporaryDir.toString(), null, false, mavenHome ); verifier.executeGoal( "some-goal" ); - File logFile = new File( verifier.getBasedir(), verifier.getLogFileName() ); + Path logFile = Paths.get( verifier.getBasedir(), verifier.getLogFileName() ); ForkedLauncherTest.expectFileLine( logFile, "Hello World from Maven Home" ); }