diff --git a/build.gradle b/build.gradle index f2ea379d..53caf778 100644 --- a/build.gradle +++ b/build.gradle @@ -53,7 +53,7 @@ allprojects { } project.ext { - junitVersion = 4.12 + junitVersion = '5.7.0' androidBootClasspath = getAndroidRuntimeJar(pgpainlessMinAndroidSdk) rootConfigDir = new File(rootDir, 'config') gitCommit = getGitCommit() @@ -92,6 +92,9 @@ allprojects { } } + test { + useJUnitPlatform() + } } subprojects { diff --git a/pgpainless-core/build.gradle b/pgpainless-core/build.gradle index 1672a751..3c748a37 100644 --- a/pgpainless-core/build.gradle +++ b/pgpainless-core/build.gradle @@ -3,7 +3,9 @@ plugins { } dependencies { - testImplementation group: 'junit', name: 'junit', version: '4.12' + testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion" + /* implementation "org.bouncycastle:bcprov-debug-jdk15on:$bouncyCastleVersion" /*/ diff --git a/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/DecryptAndVerifyMessageTest.java b/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/DecryptAndVerifyMessageTest.java index 104bf1c7..3db7836e 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/DecryptAndVerifyMessageTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/DecryptAndVerifyMessageTest.java @@ -15,9 +15,9 @@ */ package org.pgpainless.decryption_verification; -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertTrue; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -30,8 +30,8 @@ import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRingCollection; import org.bouncycastle.util.io.Streams; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.algorithm.CompressionAlgorithm; import org.pgpainless.algorithm.SymmetricKeyAlgorithm; @@ -46,7 +46,7 @@ public class DecryptAndVerifyMessageTest { private PGPSecretKeyRing juliet; private PGPSecretKeyRing romeo; - @Before + @BeforeEach public void loadKeys() throws IOException, PGPException { juliet = TestKeys.getJulietSecretKeyRing(); romeo = TestKeys.getRomeoSecretKeyRing(); diff --git a/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/EncryptDecryptTest.java b/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/EncryptDecryptTest.java index 008dbe69..a3935d47 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/EncryptDecryptTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/EncryptDecryptTest.java @@ -15,10 +15,10 @@ */ package org.pgpainless.encryption_signing; -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -36,7 +36,7 @@ import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; import org.bouncycastle.openpgp.PGPSignature; import org.bouncycastle.util.io.Streams; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.algorithm.KeyFlag; import org.pgpainless.algorithm.SymmetricKeyAlgorithm; diff --git a/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/LengthTest.java b/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/LengthTest.java index aa335a2a..03d58148 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/LengthTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/LengthTest.java @@ -26,11 +26,11 @@ import java.util.Random; import java.util.logging.Level; import java.util.logging.Logger; +import jdk.nashorn.internal.ir.annotations.Ignore; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; import org.bouncycastle.util.io.Streams; -import org.junit.Ignore; import org.pgpainless.PGPainless; import org.pgpainless.key.TestKeys; import org.pgpainless.key.collection.PGPKeyRing; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/BouncycastleExportSubkeys.java b/pgpainless-core/src/test/java/org/pgpainless/key/BouncycastleExportSubkeys.java index 51411b39..ba3ccba8 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/BouncycastleExportSubkeys.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/BouncycastleExportSubkeys.java @@ -40,7 +40,7 @@ import org.bouncycastle.openpgp.operator.PGPDigestCalculator; import org.bouncycastle.openpgp.operator.jcajce.JcaPGPContentSignerBuilder; import org.bouncycastle.openpgp.operator.jcajce.JcaPGPDigestCalculatorProviderBuilder; import org.bouncycastle.openpgp.operator.jcajce.JcaPGPKeyPair; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.provider.ProviderFactory; public class BouncycastleExportSubkeys { diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/ImportExportKeyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/ImportExportKeyTest.java index 71f7ea2c..a6c81578 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/ImportExportKeyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/ImportExportKeyTest.java @@ -15,8 +15,8 @@ */ package org.pgpainless.key; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; @@ -24,7 +24,7 @@ import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; import org.bouncycastle.openpgp.operator.bc.BcKeyFingerprintCalculator; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class ImportExportKeyTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/KeyFlagTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/KeyFlagTest.java index 0a8b1ac0..05eedfe0 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/KeyFlagTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/KeyFlagTest.java @@ -15,13 +15,13 @@ */ package org.pgpainless.key; -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.Arrays; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.algorithm.KeyFlag; public class KeyFlagTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/OpenPgpV4FingerprintTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/OpenPgpV4FingerprintTest.java index 8ff5b5d1..f05e656c 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/OpenPgpV4FingerprintTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/OpenPgpV4FingerprintTest.java @@ -15,28 +15,30 @@ */ package org.pgpainless.key; -import static junit.framework.TestCase.assertEquals; -import static org.junit.Assert.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import org.bouncycastle.openpgp.PGPPublicKey; -import org.junit.Test; +import org.junit.jupiter.api.Test; + public class OpenPgpV4FingerprintTest { - @Test(expected = IllegalArgumentException.class) + @Test public void fpTooShort() { String fp = "484f57414c495645"; // Asking Mark - new OpenPgpV4Fingerprint(fp); + assertThrows(IllegalArgumentException.class, () -> new OpenPgpV4Fingerprint(fp)); } - @Test(expected = IllegalArgumentException.class) + @Test public void invalidHexTest() { String fp = "UNFORTUNATELYTHISISNOVALIDHEXADECIMALDOH"; - new OpenPgpV4Fingerprint(fp); + assertThrows(IllegalArgumentException.class, () -> new OpenPgpV4Fingerprint(fp)); } @Test @@ -88,9 +90,9 @@ public class OpenPgpV4FingerprintTest { assertEquals(fingerprint, parsed); } - @Test(expected = IllegalArgumentException.class) + @Test public void testFromUriThrowsIfWrongScheme() throws URISyntaxException { URI uri = new URI(null, "5448452043414B452049532041204C4945212121", null); - OpenPgpV4Fingerprint.fromUri(uri); + assertThrows(IllegalArgumentException.class, () -> OpenPgpV4Fingerprint.fromUri(uri)); } } diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/TestKeysTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/TestKeysTest.java index bf16227a..f838edfb 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/TestKeysTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/TestKeysTest.java @@ -15,15 +15,15 @@ */ package org.pgpainless.key; -import static junit.framework.TestCase.assertEquals; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.util.TestUtils; public class TestKeysTest { @@ -74,8 +74,8 @@ public class TestKeysTest { @Test public void assertJulietsFingerprintGetKeyIdMatches() { - assertEquals("calling getKeyId() on juliet's fingerprint must return her key id.", - TestKeys.JULIET_KEY_ID, TestKeys.JULIET_FINGERPRINT.getKeyId()); + assertEquals(TestKeys.JULIET_KEY_ID, TestKeys.JULIET_FINGERPRINT.getKeyId(), + "calling getKeyId() on juliet's fingerprint must return her key id."); } @Test @@ -85,8 +85,8 @@ public class TestKeysTest { @Test public void assertRomeosKeyIdEquals() { - assertEquals("Key ID of Romeo's secret key must match his key id.", - TestKeys.ROMEO_KEY_ID, romeoSecRing.getSecretKey().getKeyID()); + assertEquals(TestKeys.ROMEO_KEY_ID, romeoSecRing.getSecretKey().getKeyID(), + "Key ID of Romeo's secret key must match his key id."); } @Test @@ -145,7 +145,7 @@ public class TestKeysTest { @Test public void assertEmilsFingerprintGetKeyIdMatches() { - assertEquals("calling getKeyId() on emil's fingerprint must return her key id.", - TestKeys.EMIL_KEY_ID, TestKeys.EMIL_FINGERPRINT.getKeyId()); + assertEquals(TestKeys.EMIL_KEY_ID, TestKeys.EMIL_FINGERPRINT.getKeyId(), + "calling getKeyId() on emil's fingerprint must return her key id."); } } diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/UserIdTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/UserIdTest.java index 71ce4e46..78a5768f 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/UserIdTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/UserIdTest.java @@ -15,29 +15,30 @@ */ package org.pgpainless.key; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.key.util.UserId; public class UserIdTest { - @Test(expected = IllegalArgumentException.class) + @Test public void throwForNullName() { - UserId.withName(null); + assertThrows(IllegalArgumentException.class, () -> UserId.withName(null)); } - @Test(expected = IllegalArgumentException.class) + @Test public void throwForNullComment() { - UserId.withName("foo") - .withComment(null); + assertThrows(IllegalArgumentException.class, () -> UserId.withName("foo") + .withComment(null)); } - @Test(expected = IllegalArgumentException.class) + @Test public void throwForNullEmail() { - UserId.withName("foo") + assertThrows(IllegalArgumentException.class, () -> UserId.withName("foo") .withComment("bar") - .withEmail(null); + .withEmail(null)); } @Test diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateKeyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateKeyTest.java index 8682c927..d79e5e16 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateKeyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateKeyTest.java @@ -24,7 +24,8 @@ import java.util.logging.Logger; import org.bouncycastle.bcpg.ArmoredOutputStream; import org.bouncycastle.openpgp.PGPException; -import org.junit.Test; + +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.key.OpenPgpV4Fingerprint; import org.pgpainless.key.collection.PGPKeyRing; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateKeyWithAdditionalUserIdTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateKeyWithAdditionalUserIdTest.java index 0e53381d..afd80f02 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateKeyWithAdditionalUserIdTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateKeyWithAdditionalUserIdTest.java @@ -15,8 +15,8 @@ */ package org.pgpainless.key.generation; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -26,7 +26,8 @@ import java.util.Iterator; import org.bouncycastle.bcpg.ArmoredOutputStream; import org.bouncycastle.openpgp.PGPException; -import org.junit.Test; + +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.key.collection.PGPKeyRing; import org.pgpainless.key.generation.type.KeyType; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateWithEmptyPassphrase.java b/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateWithEmptyPassphrase.java index ea57fb81..9d32a3b6 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateWithEmptyPassphrase.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateWithEmptyPassphrase.java @@ -15,14 +15,14 @@ */ package org.pgpainless.key.generation; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; import java.io.IOException; import java.security.InvalidAlgorithmParameterException; import java.security.NoSuchAlgorithmException; import org.bouncycastle.openpgp.PGPException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.key.generation.type.KeyType; import org.pgpainless.key.generation.type.length.RsaLength; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/modification/AddSubKeyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/modification/AddSubKeyTest.java index 997a7b12..78ac951d 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/modification/AddSubKeyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/modification/AddSubKeyTest.java @@ -15,7 +15,7 @@ */ package org.pgpainless.key.modification; -import static org.junit.Assert.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; import java.io.IOException; import java.security.InvalidAlgorithmParameterException; @@ -29,7 +29,7 @@ import org.bouncycastle.openpgp.PGPPrivateKey; import org.bouncycastle.openpgp.PGPPublicKey; import org.bouncycastle.openpgp.PGPSecretKey; import org.bouncycastle.openpgp.PGPSecretKeyRing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.algorithm.KeyFlag; import org.pgpainless.key.TestKeys; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/modification/AddUserIdTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/modification/AddUserIdTest.java index 2aa4fe04..5fe4e470 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/modification/AddUserIdTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/modification/AddUserIdTest.java @@ -15,8 +15,9 @@ */ package org.pgpainless.key.modification; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.io.IOException; import java.security.InvalidAlgorithmParameterException; @@ -26,7 +27,7 @@ import java.util.NoSuchElementException; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPSecretKeyRing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.key.TestKeys; import org.pgpainless.key.collection.PGPKeyRing; @@ -65,24 +66,24 @@ public class AddUserIdTest { assertFalse(userIds.hasNext()); } - @Test(expected = NoSuchElementException.class) + @Test public void addUserId_NoSuchElementExceptionForMissingKey() throws IOException, PGPException { PGPSecretKeyRing secretKeys = TestKeys.getCryptieSecretKeyRing(); - PGPainless.modifyKeyRing(secretKeys) - .addUserId(0L, TestKeys.CRYPTIE_UID, new UnprotectedKeysProtector()); + assertThrows(NoSuchElementException.class, () -> PGPainless.modifyKeyRing(secretKeys) + .addUserId(0L, TestKeys.CRYPTIE_UID, new UnprotectedKeysProtector())); } - @Test(expected = NoSuchElementException.class) + @Test public void deleteUserId_noSuchElementExceptionForMissingUserId() throws IOException, PGPException { PGPSecretKeyRing secretKeys = TestKeys.getCryptieSecretKeyRing(); - PGPainless.modifyKeyRing(secretKeys) - .deleteUserId("invalid@user.id", new UnprotectedKeysProtector()); + assertThrows(NoSuchElementException.class, () -> PGPainless.modifyKeyRing(secretKeys) + .deleteUserId("invalid@user.id", new UnprotectedKeysProtector())); } - @Test(expected = NoSuchElementException.class) + @Test public void deleteUserId_noSuchElementExceptionForMissingKey() throws IOException, PGPException { PGPSecretKeyRing secretKeys = TestKeys.getCryptieSecretKeyRing(); - PGPainless.modifyKeyRing(secretKeys) - .deleteUserId(0L, TestKeys.CRYPTIE_UID, new UnprotectedKeysProtector()); + assertThrows(NoSuchElementException.class, () -> PGPainless.modifyKeyRing(secretKeys) + .deleteUserId(0L, TestKeys.CRYPTIE_UID, new UnprotectedKeysProtector())); } } diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/modification/ChangeSecretKeyRingPassphraseTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/modification/ChangeSecretKeyRingPassphraseTest.java index 8c7c9e44..3f2caab3 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/modification/ChangeSecretKeyRingPassphraseTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/modification/ChangeSecretKeyRingPassphraseTest.java @@ -15,8 +15,9 @@ */ package org.pgpainless.key.modification; -import static junit.framework.TestCase.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -33,7 +34,7 @@ import org.bouncycastle.openpgp.operator.PGPDigestCalculatorProvider; import org.bouncycastle.openpgp.operator.bc.BcPBESecretKeyDecryptorBuilder; import org.bouncycastle.openpgp.operator.bc.BcPGPDigestCalculatorProvider; import org.bouncycastle.util.io.Streams; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.algorithm.SymmetricKeyAlgorithm; import org.pgpainless.encryption_signing.EncryptionStream; @@ -63,25 +64,16 @@ public class ChangeSecretKeyRingPassphraseTest { assertEquals(KeyRingProtectionSettings.secureDefaultSettings().getEncryptionAlgorithm().getAlgorithmId(), changedPassphraseKeyRing.getSecretKeys().getSecretKey().getKeyEncryptionAlgorithm()); - try { - signDummyMessageWithKeysAndPassphrase(changedPassphraseKeyRing, Passphrase.emptyPassphrase()); - fail("Unlocking secret key ring with empty passphrase MUST fail."); - } catch (PGPException e) { - // yay - } + assertThrows(PGPException.class, () -> + signDummyMessageWithKeysAndPassphrase(changedPassphraseKeyRing, Passphrase.emptyPassphrase()), + "Unlocking secret key ring with empty passphrase MUST fail."); - try { - signDummyMessageWithKeysAndPassphrase(changedPassphraseKeyRing, Passphrase.fromPassword("weakPassphrase")); - fail("Unlocking secret key ring with old passphrase MUST fail."); - } catch (PGPException e) { - // yay - } + assertThrows(PGPException.class, () -> + signDummyMessageWithKeysAndPassphrase(changedPassphraseKeyRing, Passphrase.fromPassword("weakPassphrase")), + "Unlocking secret key ring with old passphrase MUST fail."); - try { - signDummyMessageWithKeysAndPassphrase(changedPassphraseKeyRing, Passphrase.fromPassword("1337p455phr453")); - } catch (PGPException e) { - fail("Unlocking the secret key ring with the new passphrase MUST succeed."); - } + assertDoesNotThrow(() -> signDummyMessageWithKeysAndPassphrase(changedPassphraseKeyRing, Passphrase.fromPassword("1337p455phr453")), + "Unlocking the secret key ring with the new passphrase MUST succeed."); } @Test @@ -124,19 +116,15 @@ public class ChangeSecretKeyRingPassphraseTest { extractPrivateKey(primaryKey, Passphrase.fromPassword("weakPassphrase")); extractPrivateKey(subKey, Passphrase.fromPassword("subKeyPassphrase")); - try { - extractPrivateKey(primaryKey, Passphrase.fromPassword("subKeyPassphrase")); - fail("Unlocking the primary key with the subkey passphrase must fail."); - } catch (PGPException e) { - // yay - } + final PGPSecretKey finalPrimaryKey = primaryKey; + assertThrows(PGPException.class, + () -> extractPrivateKey(finalPrimaryKey, Passphrase.fromPassword("subKeyPassphrase")), + "Unlocking the primary key with the subkey passphrase must fail."); - try { - extractPrivateKey(subKey, Passphrase.fromPassword("weakPassphrase")); - fail("Unlocking the subkey with the primary key passphrase must fail."); - } catch (PGPException e) { - // yay - } + final PGPSecretKey finalSubKey = subKey; + assertThrows(PGPException.class, + () -> extractPrivateKey(finalSubKey, Passphrase.fromPassword("weakPassphrase")), + "Unlocking the subkey with the primary key passphrase must fail."); } @Test @@ -158,20 +146,15 @@ public class ChangeSecretKeyRingPassphraseTest { extractPrivateKey(primaryKey, Passphrase.emptyPassphrase()); extractPrivateKey(subKey, Passphrase.fromPassword("weakPassphrase")); - try { - extractPrivateKey(primaryKey, Passphrase.fromPassword("weakPassphrase")); - fail("Unlocking the unprotected primary key with the old passphrase must fail."); - } catch (PGPException e) { - // yay - } - - try { - extractPrivateKey(subKey, Passphrase.emptyPassphrase()); - fail("Unlocking the still protected subkey with an empty passphrase must fail."); - } catch (PGPException e) { - // yay - } + final PGPSecretKey finalPrimaryKey = primaryKey; + assertThrows(PGPException.class, + () -> extractPrivateKey(finalPrimaryKey, Passphrase.fromPassword("weakPassphrase")), + "Unlocking the unprotected primary key with the old passphrase must fail."); + final PGPSecretKey finalSubKey = subKey; + assertThrows(PGPException.class, + () -> extractPrivateKey(finalSubKey, Passphrase.emptyPassphrase()), + "Unlocking the still protected subkey with an empty passphrase must fail."); } /** diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/modification/KeyRingEditorTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/modification/KeyRingEditorTest.java index 80339b56..3ebb2351 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/modification/KeyRingEditorTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/modification/KeyRingEditorTest.java @@ -15,12 +15,15 @@ */ package org.pgpainless.key.modification; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import org.junit.jupiter.api.Test; public class KeyRingEditorTest { - @Test(expected = NullPointerException.class) + @Test public void testConstructorThrowsNpeForNull() { - new KeyRingEditor(null); + assertThrows(NullPointerException.class, + () -> new KeyRingEditor(null)); } } diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/modification/RevokeSubKeyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/modification/RevokeSubKeyTest.java index 21aa490f..8a46f161 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/modification/RevokeSubKeyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/modification/RevokeSubKeyTest.java @@ -15,8 +15,8 @@ */ package org.pgpainless.key.modification; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import java.util.Iterator; @@ -24,7 +24,7 @@ import java.util.Iterator; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPSecretKey; import org.bouncycastle.openpgp.PGPSecretKeyRing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.key.OpenPgpV4Fingerprint; import org.pgpainless.key.TestKeys; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseProtectedKeyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseProtectedKeyTest.java index f6a2a6bf..af97d100 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseProtectedKeyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseProtectedKeyTest.java @@ -15,13 +15,13 @@ */ package org.pgpainless.key.protection; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import javax.annotation.Nullable; import org.bouncycastle.openpgp.PGPException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.key.TestKeys; import org.pgpainless.key.protection.passphrase_provider.SecretKeyPassphraseProvider; import org.pgpainless.util.Passphrase; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseTest.java index 33ff7686..637162c6 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseTest.java @@ -15,12 +15,12 @@ */ package org.pgpainless.key.protection; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.util.Passphrase; public class PassphraseTest { @@ -35,11 +35,6 @@ public class PassphraseTest { passphrase.clear(); assertFalse(passphrase.isValid()); - try { - passphrase.getChars(); - fail(); - } catch (IllegalStateException e) { - // expected - } + assertThrows(IllegalStateException.class, passphrase::getChars); } } diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/protection/UnprotectedKeysProtectorTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/protection/UnprotectedKeysProtectorTest.java index 959dab8d..c216b495 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/protection/UnprotectedKeysProtectorTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/protection/UnprotectedKeysProtectorTest.java @@ -15,9 +15,9 @@ */ package org.pgpainless.key.protection; -import static junit.framework.TestCase.assertNull; +import static org.junit.jupiter.api.Assertions.assertNull; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class UnprotectedKeysProtectorTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/EmailKeyRingSelectionStrategyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/EmailKeyRingSelectionStrategyTest.java index b11ac827..8d9c398f 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/EmailKeyRingSelectionStrategyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/EmailKeyRingSelectionStrategyTest.java @@ -15,15 +15,15 @@ */ package org.pgpainless.key.selection.keyring; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKey; import org.bouncycastle.openpgp.PGPSecretKey; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.key.TestKeys; import org.pgpainless.key.selection.keyring.impl.Email; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/WhitelistKeyRingSelectionStrategyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/WhitelistKeyRingSelectionStrategyTest.java index 154ae907..698a0104 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/WhitelistKeyRingSelectionStrategyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/WhitelistKeyRingSelectionStrategyTest.java @@ -15,8 +15,8 @@ */ package org.pgpainless.key.selection.keyring; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import java.util.Collections; @@ -27,7 +27,7 @@ import java.util.concurrent.ConcurrentHashMap; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.key.TestKeys; import org.pgpainless.key.selection.keyring.impl.Whitelist; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/WildcardKeyRingSelectionStrategyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/WildcardKeyRingSelectionStrategyTest.java index 36974d9d..8ea4b367 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/WildcardKeyRingSelectionStrategyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/WildcardKeyRingSelectionStrategyTest.java @@ -15,14 +15,14 @@ */ package org.pgpainless.key.selection.keyring; -import static junit.framework.TestCase.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.key.TestKeys; import org.pgpainless.key.selection.keyring.impl.Wildcard; diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/XmppKeyRingSelectionStrategyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/XmppKeyRingSelectionStrategyTest.java index c5ab01e9..d49e81b5 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/XmppKeyRingSelectionStrategyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/selection/keyring/XmppKeyRingSelectionStrategyTest.java @@ -15,15 +15,15 @@ */ package org.pgpainless.key.selection.keyring; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.key.TestKeys; import org.pgpainless.key.selection.keyring.impl.XMPP; diff --git a/pgpainless-core/src/test/java/org/pgpainless/provider/ProviderFactoryTest.java b/pgpainless-core/src/test/java/org/pgpainless/provider/ProviderFactoryTest.java index 43e65bc5..d815d68d 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/provider/ProviderFactoryTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/provider/ProviderFactoryTest.java @@ -15,11 +15,11 @@ */ package org.pgpainless.provider; -import static junit.framework.TestCase.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.security.Provider; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class ProviderFactoryTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/symmetric_encryption/SymmetricEncryptionTest.java b/pgpainless-core/src/test/java/org/pgpainless/symmetric_encryption/SymmetricEncryptionTest.java index 980b6c18..7df26196 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/symmetric_encryption/SymmetricEncryptionTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/symmetric_encryption/SymmetricEncryptionTest.java @@ -15,7 +15,7 @@ */ package org.pgpainless.symmetric_encryption; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -24,7 +24,7 @@ import java.util.logging.Logger; import org.bouncycastle.bcpg.ArmoredOutputStream; import org.bouncycastle.openpgp.PGPException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.algorithm.SymmetricKeyAlgorithm; import org.pgpainless.util.Passphrase; diff --git a/pgpainless-core/src/test/java/org/pgpainless/util/BCUtilTest.java b/pgpainless-core/src/test/java/org/pgpainless/util/BCUtilTest.java index 6bc6f6ff..f5e4179e 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/util/BCUtilTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/util/BCUtilTest.java @@ -15,8 +15,10 @@ */ package org.pgpainless.util; -import static junit.framework.TestCase.assertEquals; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import java.io.IOException; import java.security.InvalidAlgorithmParameterException; @@ -26,7 +28,6 @@ import java.util.Iterator; import java.util.logging.Level; import java.util.logging.Logger; -import junit.framework.TestCase; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKey; import org.bouncycastle.openpgp.PGPPublicKeyRing; @@ -34,7 +35,7 @@ import org.bouncycastle.openpgp.PGPPublicKeyRingCollection; import org.bouncycastle.openpgp.PGPSecretKey; import org.bouncycastle.openpgp.PGPSecretKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRingCollection; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.key.collection.PGPKeyRing; import org.pgpainless.key.generation.KeySpec; @@ -119,15 +120,15 @@ public class BCUtilTest { } } - TestCase.assertNotNull(subKey); + assertNotNull(subKey); PGPSecretKeyRing alice_mallory = PGPSecretKeyRing.insertSecretKey(alice.getSecretKeys(), subKey); // Check, if alice_mallory contains mallory's key - TestCase.assertNotNull(alice_mallory.getSecretKey(subKey.getKeyID())); + assertNotNull(alice_mallory.getSecretKey(subKey.getKeyID())); PGPSecretKeyRing cleaned = BCUtil.removeUnassociatedKeysFromKeyRing(alice_mallory, alice.getPublicKeys().getPublicKey()); - TestCase.assertNull(cleaned.getSecretKey(subKey.getKeyID())); + assertNull(cleaned.getSecretKey(subKey.getKeyID())); } @Test diff --git a/pgpainless-core/src/test/java/org/pgpainless/util/MultiMapTest.java b/pgpainless-core/src/test/java/org/pgpainless/util/MultiMapTest.java index ecfb9ca0..fa21efdb 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/util/MultiMapTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/util/MultiMapTest.java @@ -15,13 +15,13 @@ */ package org.pgpainless.util; -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertNotNull; -import static junit.framework.TestCase.assertNull; -import static junit.framework.TestCase.assertTrue; -import static junit.framework.TestCase.fail; -import static org.junit.Assert.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import java.util.Arrays; import java.util.Collections; @@ -30,7 +30,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class MultiMapTest {