You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2022/08/31 07:46:02 UTC

[maven-verifier] branch master updated: [MSHARED-1089] Upgrade maven-verifier to JDK 8 / Junit 5 (#31)

This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-verifier.git


The following commit(s) were added to refs/heads/master by this push:
     new 9c6b80b  [MSHARED-1089] Upgrade maven-verifier to JDK 8 / Junit 5 (#31)
9c6b80b is described below

commit 9c6b80bb6daa6e9f486bade6dd18136f31fe27eb
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Wed Aug 31 09:45:57 2022 +0200

    [MSHARED-1089] Upgrade maven-verifier to JDK 8 / Junit 5 (#31)
    
    * [MSHARED-1089] Upgrade maven-verifier to JDK 8 / Junit 5
    * Remove junit from compile scope
---
 pom.xml                                            |  12 +--
 src/main/java/org/apache/maven/it/Verifier.java    | 100 ---------------------
 .../apache/maven/it/Embedded3xLauncherTest.java    |  18 ++--
 .../org/apache/maven/it/ForkedLauncherTest.java    |  38 ++++----
 .../java/org/apache/maven/it/VerifierTest.java     |  37 ++++----
 5 files changed, 52 insertions(+), 153 deletions(-)

diff --git a/pom.xml b/pom.xml
index a68fe0e..77b756c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,13 +28,13 @@
   </parent>
 
   <artifactId>maven-verifier</artifactId>
-  <version>1.8.1-SNAPSHOT</version>
+  <version>2.0.0-SNAPSHOT</version>
 
   <name>Apache Maven Verifier Component</name>
   <description>Provides a test harness for Maven integration tests.</description>
 
   <properties>
-    <javaVersion>7</javaVersion>
+    <javaVersion>8</javaVersion>
     <project.build.outputTimestamp>2022-03-19T12:57:53Z</project.build.outputTimestamp>
   </properties>
 
@@ -73,14 +73,16 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.13.2</version>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter</artifactId>
+      <version>5.8.0</version>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.hamcrest</groupId>
       <artifactId>hamcrest-core</artifactId>
       <version>2.2</version>
+      <scope>test</scope>
     </dependency>
     <!-- embedder for testing Embedded3xLauncher with classpath -->
     <dependency>
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.Commandline;
 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 class Verifier
         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 class Verifier
         }
     }
 
-    /**
-     * 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 class Verifier
         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 class Verifier
         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 class Verifier
         }
     }
 
-    /**
-     * @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 @@ package org.apache.maven.it;
  * 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 class Embedded3xLauncherTest
 
     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.MatcherAssert.assertThat;
  */
 
 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.<String, String>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 class ForkedLauncherTest
     @Test
     public void mvnwDebug() throws Exception
     {
-        launcher = new ForkedLauncher( ".", Collections.<String, String>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 class ForkedLauncherTest
         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<String> text = new ArrayList<>();
             String line;
@@ -91,8 +91,8 @@ public class ForkedLauncherTest
                 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 @@ package org.apache.maven.it;
  * 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 class VerifierTest
     {
         //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 class VerifierTest
     @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" );
     }