diff --git a/pom.xml b/pom.xml index 0a06335..0d6ced2 100644 --- a/pom.xml +++ b/pom.xml @@ -36,18 +36,31 @@ + + javax.inject + javax.inject + 1 + + + javax.enterprise + cdi-api + 1.2 + org.codehaus.plexus plexus-utils org.codehaus.plexus - plexus-container-default + plexus-testing + 1.2.0 test - junit - junit + org.junit.jupiter + junit-jupiter + 5.10.1 + test @@ -69,6 +82,20 @@ + + org.eclipse.sisu + sisu-maven-plugin + 0.9.0.M2 + + + generate-index + + main-index + test-index + + + + diff --git a/src/main/java/org/codehaus/plexus/digest/ChecksumFile.java b/src/main/java/org/codehaus/plexus/digest/ChecksumFile.java index 05be2b7..7eeb142 100644 --- a/src/main/java/org/codehaus/plexus/digest/ChecksumFile.java +++ b/src/main/java/org/codehaus/plexus/digest/ChecksumFile.java @@ -19,6 +19,8 @@ import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; +import javax.inject.Inject; +import javax.inject.Named; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -27,19 +29,16 @@ * ChecksumFile * * @author Joakim Erdfelt - * @version $Id$ - * @plexus.component role="org.codehaus.plexus.digest.ChecksumFile" */ +@Named public class ChecksumFile { - /** - * @plexus.requirement role-hint="sha1" - */ + @Inject + @Named ( "sha1" ) private Digester digestSha1; - /** - * @plexus.requirement role-hint="md5"; - */ + @Inject + @Named ( "md5" ) private Digester digestMd5; /** diff --git a/src/main/java/org/codehaus/plexus/digest/Md5Digester.java b/src/main/java/org/codehaus/plexus/digest/Md5Digester.java index d3954dd..727cc4c 100644 --- a/src/main/java/org/codehaus/plexus/digest/Md5Digester.java +++ b/src/main/java/org/codehaus/plexus/digest/Md5Digester.java @@ -16,11 +16,15 @@ * limitations under the License. */ +import javax.enterprise.inject.Typed; +import javax.inject.Named; + /** * Digester that does MD5 Message Digesting Only. * - * @plexus.component role="org.codehaus.plexus.digest.Digester" role-hint="md5" */ +@Named( "md5" ) +@Typed( Digester.class ) public class Md5Digester extends AbstractDigester { diff --git a/src/main/java/org/codehaus/plexus/digest/Sha1Digester.java b/src/main/java/org/codehaus/plexus/digest/Sha1Digester.java index a0cfdfe..8fc5d9b 100644 --- a/src/main/java/org/codehaus/plexus/digest/Sha1Digester.java +++ b/src/main/java/org/codehaus/plexus/digest/Sha1Digester.java @@ -16,11 +16,15 @@ * limitations under the License. */ +import javax.enterprise.inject.Typed; +import javax.inject.Named; + /** * Digester that does SHA1 Message Digesting Only. * - * @plexus.component role="org.codehaus.plexus.digest.Digester" role-hint="sha1" */ +@Named( "sha1" ) +@Typed( Digester.class ) public class Sha1Digester extends AbstractDigester { diff --git a/src/main/java/org/codehaus/plexus/digest/StreamingMd5Digester.java b/src/main/java/org/codehaus/plexus/digest/StreamingMd5Digester.java index 5ab3bf5..daf03d3 100644 --- a/src/main/java/org/codehaus/plexus/digest/StreamingMd5Digester.java +++ b/src/main/java/org/codehaus/plexus/digest/StreamingMd5Digester.java @@ -16,12 +16,14 @@ * limitations under the License. */ +import javax.inject.Named; + /** * An MD5 implementation of the streaming digester. * * @author Brett Porter - * @plexus.component role="org.codehaus.plexus.digest.StreamingDigester" role-hint="md5" */ +@Named( "md5" ) public class StreamingMd5Digester extends AbstractStreamingDigester { diff --git a/src/main/java/org/codehaus/plexus/digest/StreamingSha1Digester.java b/src/main/java/org/codehaus/plexus/digest/StreamingSha1Digester.java index 384b500..1925b89 100644 --- a/src/main/java/org/codehaus/plexus/digest/StreamingSha1Digester.java +++ b/src/main/java/org/codehaus/plexus/digest/StreamingSha1Digester.java @@ -16,12 +16,14 @@ * limitations under the License. */ +import javax.inject.Named; + /** * An SHA-1 implementation of the streaming digester. * * @author Brett Porter - * @plexus.component role="org.codehaus.plexus.digest.StreamingDigester" role-hint="sha1" */ +@Named( "sha1" ) public class StreamingSha1Digester extends AbstractStreamingDigester { diff --git a/src/test/java/org/codehaus/plexus/digest/ChecksumFileTest.java b/src/test/java/org/codehaus/plexus/digest/ChecksumFileTest.java index a4f1b87..669e5da 100644 --- a/src/test/java/org/codehaus/plexus/digest/ChecksumFileTest.java +++ b/src/test/java/org/codehaus/plexus/digest/ChecksumFileTest.java @@ -16,29 +16,29 @@ * limitations under the License. */ -import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.testing.PlexusTest; +import org.junit.jupiter.api.Test; +import javax.inject.Inject; import java.io.File; +import static org.codehaus.plexus.testing.PlexusExtension.getBasedir; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + /** - * ChecksumFileTest + * ChecksumFileTest * * @author Joakim Erdfelt - * @version $Id$ */ -public class ChecksumFileTest extends PlexusTestCase +@PlexusTest +class ChecksumFileTest { + @Inject private ChecksumFile checksum; - protected void setUp() - throws Exception - { - super.setUp(); - - checksum = (ChecksumFile) lookup( ChecksumFile.class.getName() ); - } - - public void testIsValidChecksum() + @Test + void isValidChecksum() throws Exception { File exampleDir = new File( getBasedir(), "src/test/examples" ); @@ -59,7 +59,8 @@ public void testIsValidChecksum() assertTrue( checksum.isValidChecksum( new File( exampleDir, "openssl.jar.sha1" ) ) ); } - public void testCreateChecksum() + @Test + void createChecksum() throws Exception { File dataFile = File.createTempFile( "plexus-digest-test", null ); diff --git a/src/test/java/org/codehaus/plexus/digest/DigestUtilsTest.java b/src/test/java/org/codehaus/plexus/digest/DigestUtilsTest.java index b54fe4e..788a39b 100644 --- a/src/test/java/org/codehaus/plexus/digest/DigestUtilsTest.java +++ b/src/test/java/org/codehaus/plexus/digest/DigestUtilsTest.java @@ -16,38 +16,42 @@ * limitations under the License. */ -import junit.framework.TestCase; +import org.junit.jupiter.api.Test; -public class DigestUtilsTest - extends TestCase +import static org.junit.jupiter.api.Assertions.assertEquals; + +class DigestUtilsTest { /** SHA1 checksum from www.ibiblio.org/maven2, incuding file path */ private static final String SERVLETAPI_SHA1 = "bcc82975c0f9c681fcb01cc38504c992553e93ba"; - public void testCleanChecksum() + @Test + void cleanChecksum() throws DigesterException { String expected = SERVLETAPI_SHA1 + " /home/projects/maven/repository-staging/to-ibiblio/maven2/servletapi/servletapi/2.4/servletapi-2.4.pom"; String s = DigestUtils.cleanChecksum( expected, "SHA1", "servletapi/servletapi/2.4/servletapi-2.4.pom" ); - assertEquals( "Checksum doesn't match", SERVLETAPI_SHA1, s ); + assertEquals( SERVLETAPI_SHA1, s, "Checksum doesn't match" ); } - public void testCleanChecksumAltDash1() + @Test + void cleanChecksumAltDash1() throws DigesterException { String expected = SERVLETAPI_SHA1 + " -"; String s = DigestUtils.cleanChecksum( expected, "SHA1", "servletapi/servletapi/2.4/servletapi-2.4.pom" ); - assertEquals( "Checksum doesn't match", SERVLETAPI_SHA1, s ); + assertEquals( SERVLETAPI_SHA1, s, "Checksum doesn't match" ); } - public void testCleanChecksumAltDash2() + @Test + void cleanChecksumAltDash2() throws DigesterException { String expected = "SHA1(-)=" + SERVLETAPI_SHA1; String s = DigestUtils.cleanChecksum( expected, "SHA1", "servletapi/servletapi/2.4/servletapi-2.4.pom" ); - assertEquals( "Checksum doesn't match", SERVLETAPI_SHA1, s ); + assertEquals( SERVLETAPI_SHA1, s, "Checksum doesn't match" ); } } diff --git a/src/test/java/org/codehaus/plexus/digest/DigesterTest.java b/src/test/java/org/codehaus/plexus/digest/DigesterTest.java index f64b14c..d8ce933 100644 --- a/src/test/java/org/codehaus/plexus/digest/DigesterTest.java +++ b/src/test/java/org/codehaus/plexus/digest/DigesterTest.java @@ -16,17 +16,22 @@ * limitations under the License. */ -import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.testing.PlexusTest; +import org.junit.jupiter.api.Test; +import javax.inject.Inject; +import javax.inject.Named; import java.io.File; +import static org.junit.jupiter.api.Assertions.*; + /** * Test the digester. * * @author Brett Porter */ -public class DigesterTest - extends PlexusTestCase +@PlexusTest +class DigesterTest { private static final String MD5 = "adbc688ce77fa2aece4bb72cad9f98ba"; @@ -34,186 +39,75 @@ public class DigesterTest private static final String WRONG_SHA1 = "4d8703779816556cdb8be7f6bb5c954f4b5730e2"; + @Inject + @Named( "sha1" ) private Digester sha1Digest; + @Inject + @Named( "md5" ) private Digester md5Digest; - protected void setUp() - throws Exception - { - super.setUp(); - - sha1Digest = (Digester) lookup( Digester.ROLE, "sha1" ); - md5Digest = (Digester) lookup( Digester.ROLE, "md5" ); - } - - public void testAlgorithm() + @Test + void algorithm() { assertEquals( "SHA-1", sha1Digest.getAlgorithm() ); assertEquals( "MD5", md5Digest.getAlgorithm() ); } - public void testBareDigestFormat() { + @Test + void bareDigestFormat() { File file = new File( getClass().getResource( "/test-file.txt" ).getPath() ); - try - { - md5Digest.verify( file, MD5 ); - } - catch ( DigesterException e ) - { - fail( "Bare format MD5 must not throw exception" ); - } - - try - { - sha1Digest.verify( file, SHA1 ); - } - catch ( DigesterException e ) - { - fail( "Bare format SHA1 must not throw exception" ); - } - - try - { - sha1Digest.verify( file, WRONG_SHA1 ); - fail( "wrong checksum must throw an exception" ); - } - catch ( DigesterException e ) - { - //expected - } + assertDoesNotThrow( () -> md5Digest.verify( file, MD5 ), "Bare format MD5 must not throw exception" ); + + assertDoesNotThrow( () -> sha1Digest.verify( file, SHA1 ), "Bare format SHA1 must not throw exception" ); + + assertThrows( DigesterException.class, + () -> sha1Digest.verify( file, WRONG_SHA1 ), "Wrong SHA1 must throw exception" ); } - public void testOpensslDigestFormat() { + @Test + void opensslDigestFormat() { File file = new File( getClass().getResource( "/test-file.txt" ).getPath() ); - try - { - md5Digest.verify( file, "MD5(test-file.txt)= " + MD5 ); - } - catch ( DigesterException e ) - { - fail( "OpenSSL MD5 format must not cause exception" ); - } - - try - { - md5Digest.verify( file, "MD5 (test-file.txt) = " + MD5 ); - } - catch ( DigesterException e ) - { - fail( "FreeBSD MD5 format must not cause exception" ); - } - - try - { - sha1Digest.verify( file, "SHA1(test-file.txt)= " + SHA1 ); - } - catch ( DigesterException e ) - { - fail( "OpenSSL SHA1 format must not cause exception" ); - } - - try - { - sha1Digest.verify( file, "SHA1 (test-file.txt) = " + SHA1 ); - } - catch ( DigesterException e ) - { - fail( "FreeBSD SHA1 format must not cause exception" ); - } - - try - { - sha1Digest.verify( file, "SHA1 (FOO) = " + SHA1 ); - fail( "Wrong filename should cause an exception" ); - } - catch ( DigesterException e ) - { - //expected - } - - try - { - sha1Digest.verify( file, "SHA1 (test-file.txt) = " + WRONG_SHA1 ); - fail( "Wrong sha1 should cause an exception" ); - } - catch ( DigesterException e ) - { - //expected - } + assertDoesNotThrow( () -> md5Digest.verify( file, "MD5(test-file.txt)= " + MD5 ), "OpenSSL MD5 format must not cause exception" ); + + assertDoesNotThrow( () -> md5Digest.verify( file, "MD5 (test-file.txt) = " + MD5 ), "FreeBSD MD5 format must not cause exception" ); + + assertDoesNotThrow( () -> sha1Digest.verify( file, "SHA1(test-file.txt)= " + SHA1 ), "OpenSSL SHA1 format must not cause exception" ); + + assertDoesNotThrow( () -> sha1Digest.verify( file, "SHA1 (test-file.txt) = " + SHA1 ), "FreeBSD SHA1 format must not cause exception" ); + + assertThrows( DigesterException.class, + () -> sha1Digest.verify( file, "SHA1 (FOO) = " + SHA1 ), "Wrong filename must throw exception" ); + + assertThrows( DigesterException.class, + () -> sha1Digest.verify( file, "SHA1 (test-file.txt) = " + WRONG_SHA1 ), "Wrong SHA1 must throw exception" ); + } - public void testGnuDigestFormat() { + @Test + void gnuDigestFormat() { File file = new File( getClass().getResource( "/test-file.txt" ).getPath() ); - try - { - md5Digest.verify( file, MD5 + " *test-file.txt" ); - } - catch ( DigesterException e ) - { - fail( "GNU format MD5 must not cause exception" ); - } - - try - { - md5Digest.verify( file, MD5 + " test-file.txt" ); - } - catch ( DigesterException e ) - { - fail( "GNU text format MD5 must not cause exception" ); - } - - try - { - sha1Digest.verify( file, SHA1 + " *test-file.txt" ); - } - catch ( DigesterException e ) - { - fail( "GNU format SHA1 must not cause exception" ); - } - - try - { - sha1Digest.verify( file, SHA1 + " test-file.txt" ); - } - catch ( DigesterException e ) - { - fail( "GNU text format SHA1 must not cause exception" ); - } - - try - { - sha1Digest.verify( file, SHA1 + " FOO" ); - fail( "Wrong filename cause an exception" ); - } - catch ( DigesterException e ) - { - //expected - } - - try - { - sha1Digest.verify( file, WRONG_SHA1 + " test-file.txt" ); - fail( "Wrong SHA1 cause an exception" ); - } - catch ( DigesterException e ) - { - //expected - } + assertDoesNotThrow( () -> md5Digest.verify( file, MD5 + " *test-file.txt" ), "GNU format MD5 must not cause exception" ); + + assertDoesNotThrow( () -> md5Digest.verify( file, MD5 + " test-file.txt" ), "GNU text format MD5 must not cause exception" ); + + assertDoesNotThrow( () -> sha1Digest.verify( file, SHA1 + " *test-file.txt" ), "GNU format SHA1 must not cause exception" ); + + assertDoesNotThrow( () -> sha1Digest.verify( file, SHA1 + " test-file.txt" ), "GNU text format SHA1 must not cause exception" ); + + assertThrows( DigesterException.class, + () -> sha1Digest.verify( file, SHA1 + " FOO" ), "Wrong filename must throw exception" ); + + assertThrows( DigesterException.class, + () -> sha1Digest.verify( file, WRONG_SHA1 + " test-file.txt" ), "Wrong SHA1 must throw exception" ); } - public void testUntrimmedContent() { + @Test + void untrimmedContent() { File file = new File( getClass().getResource( "/test-file.txt" ).getPath() ); - try - { - sha1Digest.verify( file, SHA1 + " *test-file.txt \n" ); - } - catch ( DigesterException e ) - { - fail( "GNU untrimmed SHA1 must not cause exception" ); - } + assertDoesNotThrow( () -> sha1Digest.verify( file, SHA1 + " *test-file.txt \n" ), "GNU untrimmed SHA1 must not cause exception" ); } }