From d889d37de570c55db3e85cc66d4fba239da3c388 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Fri, 7 Feb 2025 13:19:56 +0100 Subject: [PATCH] Fix tests --- .../org/pgpainless/example/ModifyKeys.java | 5 ++++- .../pgpainless/key/TestMergeCertificate.java | 3 +-- ...ureSubpacketsArePreservedOnNewSigTest.java | 3 +-- .../key/modification/RevokeUserIdsTest.java | 21 +++++++++++-------- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/pgpainless-core/src/test/java/org/pgpainless/example/ModifyKeys.java b/pgpainless-core/src/test/java/org/pgpainless/example/ModifyKeys.java index 296c5b56..404858d1 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/example/ModifyKeys.java +++ b/pgpainless-core/src/test/java/org/pgpainless/example/ModifyKeys.java @@ -175,7 +175,10 @@ public class ModifyKeys { assertEquals(4, info.getPublicKeys().size()); List encryptionSubkeys = info.getEncryptionSubkeys(EncryptionPurpose.COMMUNICATIONS); assertEquals(2, encryptionSubkeys.size()); - UnlockSecretKey.unlockSecretKey(secretKey.getSecretKey(encryptionSubkeys.get(1).getKeyIdentifier()), subkeyPassphrase); + OpenPGPCertificate.OpenPGPComponentKey addedKey = encryptionSubkeys.stream() + .filter(it -> !it.getKeyIdentifier().matches(encryptionSubkeyId)).findFirst() + .get(); + UnlockSecretKey.unlockSecretKey(secretKey.getSecretKey(addedKey.getKeyIdentifier()), subkeyPassphrase); } /** diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/TestMergeCertificate.java b/pgpainless-core/src/test/java/org/pgpainless/key/TestMergeCertificate.java index 34861a5c..eee86a1b 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/TestMergeCertificate.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/TestMergeCertificate.java @@ -4,7 +4,6 @@ package org.pgpainless.key; -import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; import org.bouncycastle.openpgp.PGPSignature; @@ -68,7 +67,7 @@ public class TestMergeCertificate { "-----END PGP SIGNATURE-----"; @Test - public void testRevocationStateWithDifferentRevocationsMerged() throws IOException, PGPException { + public void testRevocationStateWithDifferentRevocationsMerged() throws IOException { PGPSecretKeyRing secretKeys = PGPainless.readKeyRing().secretKeyRing(KEY); PGPPublicKeyRing certificate = PGPainless.extractCertificate(secretKeys); diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/modification/OldSignatureSubpacketsArePreservedOnNewSigTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/modification/OldSignatureSubpacketsArePreservedOnNewSigTest.java index b8c3244e..5dc47a2a 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/modification/OldSignatureSubpacketsArePreservedOnNewSigTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/modification/OldSignatureSubpacketsArePreservedOnNewSigTest.java @@ -28,8 +28,7 @@ public class OldSignatureSubpacketsArePreservedOnNewSigTest { @TestTemplate @ExtendWith(TestAllImplementations.class) - public void verifyOldSignatureSubpacketsArePreservedOnNewExpirationDateSig() - throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, PGPException { + public void verifyOldSignatureSubpacketsArePreservedOnNewExpirationDateSig() { PGPSecretKeyRing secretKeys = PGPainless.generateKeyRing() .simpleEcKeyRing("Alice "); diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/modification/RevokeUserIdsTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/modification/RevokeUserIdsTest.java index fb6f1ec1..9694c763 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/modification/RevokeUserIdsTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/modification/RevokeUserIdsTest.java @@ -9,8 +9,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; -import java.security.InvalidAlgorithmParameterException; -import java.security.NoSuchAlgorithmException; +import java.util.Date; import java.util.NoSuchElementException; import org.bouncycastle.openpgp.PGPException; @@ -26,7 +25,7 @@ import org.pgpainless.util.selection.userid.SelectUserId; public class RevokeUserIdsTest { @Test - public void revokeWithSelectUserId() throws PGPException, InvalidAlgorithmParameterException, NoSuchAlgorithmException { + public void revokeWithSelectUserId() throws PGPException { PGPSecretKeyRing secretKeys = PGPainless.generateKeyRing() .modernKeyRing("Alice "); SecretKeyRingProtector protector = SecretKeyRingProtector.unprotectedKeys(); @@ -41,7 +40,9 @@ public class RevokeUserIdsTest { assertTrue(info.isUserIdValid("Allice ")); assertTrue(info.isUserIdValid("Alice ")); - secretKeys = PGPainless.modifyKeyRing(secretKeys) + Date n1 = new Date(info.getCreationDate().getTime() + 1000); // 1 sec later + + secretKeys = PGPainless.modifyKeyRing(secretKeys, n1) .revokeUserIds( SelectUserId.containsEmailAddress("alice@example.org"), protector, @@ -50,14 +51,14 @@ public class RevokeUserIdsTest { .withoutDescription()) .done(); - info = PGPainless.inspectKeyRing(secretKeys); + info = PGPainless.inspectKeyRing(secretKeys, n1); assertTrue(info.isUserIdValid("Alice ")); assertFalse(info.isUserIdValid("Allice ")); assertFalse(info.isUserIdValid("Alice ")); } @Test - public void removeUserId() throws PGPException, InvalidAlgorithmParameterException, NoSuchAlgorithmException { + public void removeUserId() throws PGPException { PGPSecretKeyRing secretKeys = PGPainless.generateKeyRing() .modernKeyRing("Alice "); SecretKeyRingProtector protector = SecretKeyRingProtector.unprotectedKeys(); @@ -72,11 +73,13 @@ public class RevokeUserIdsTest { assertTrue(info.isUserIdValid("Allice ")); assertTrue(info.isUserIdValid("Alice ")); - secretKeys = PGPainless.modifyKeyRing(secretKeys) + Date n1 = new Date(info.getCreationDate().getTime() + 1000); + + secretKeys = PGPainless.modifyKeyRing(secretKeys, n1) .removeUserId("Allice ", protector) .done(); - info = PGPainless.inspectKeyRing(secretKeys); + info = PGPainless.inspectKeyRing(secretKeys, n1); assertTrue(info.isUserIdValid("Alice ")); assertFalse(info.isUserIdValid("Allice ")); assertTrue(info.isUserIdValid("Alice ")); @@ -89,7 +92,7 @@ public class RevokeUserIdsTest { } @Test - public void emptySelectionYieldsNoSuchElementException() throws PGPException, InvalidAlgorithmParameterException, NoSuchAlgorithmException { + public void emptySelectionYieldsNoSuchElementException() { PGPSecretKeyRing secretKeys = PGPainless.generateKeyRing() .modernKeyRing("Alice ");