From c2abc89d5e439139784275e4fb55e4b1798ca084 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Tue, 5 Mar 2024 21:29:47 +0100 Subject: [PATCH] Add tests for PGPKeyRingExtensions --- .../extensions/PGPKeyRingExtensionsTest.kt | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 pgpainless-core/src/test/kotlin/org/pgpainless/bouncycastle/extensions/PGPKeyRingExtensionsTest.kt diff --git a/pgpainless-core/src/test/kotlin/org/pgpainless/bouncycastle/extensions/PGPKeyRingExtensionsTest.kt b/pgpainless-core/src/test/kotlin/org/pgpainless/bouncycastle/extensions/PGPKeyRingExtensionsTest.kt new file mode 100644 index 00000000..8ff941ba --- /dev/null +++ b/pgpainless-core/src/test/kotlin/org/pgpainless/bouncycastle/extensions/PGPKeyRingExtensionsTest.kt @@ -0,0 +1,72 @@ +// SPDX-FileCopyrightText: 2024 Paul Schaub +// +// SPDX-License-Identifier: Apache-2.0 + +package org.pgpainless.bouncycastle.extensions + +import org.junit.jupiter.api.Assertions.assertDoesNotThrow +import org.junit.jupiter.api.Assertions.assertFalse +import org.junit.jupiter.api.Assertions.assertNotNull +import org.junit.jupiter.api.Assertions.assertTrue +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import org.pgpainless.key.TestKeys + +class PGPKeyRingExtensionsTest { + + @Test + fun `public key ring has public key`() { + val key = TestKeys.getJulietPublicKeyRing() + assertTrue(key.hasPublicKey(TestKeys.JULIET_KEY_ID)) + assertTrue(key.hasPublicKey(TestKeys.JULIET_FINGERPRINT)) + + assertFalse(key.hasPublicKey(TestKeys.ROMEO_KEY_ID)) + assertFalse(key.hasPublicKey(TestKeys.ROMEO_FINGERPRINT)) + } + + @Test + fun `secret key ring has public key`() { + val key = TestKeys.getJulietSecretKeyRing() + assertTrue(key.hasPublicKey(TestKeys.JULIET_KEY_ID)) + assertTrue(key.hasPublicKey(TestKeys.JULIET_FINGERPRINT)) + + assertFalse(key.hasPublicKey(TestKeys.ROMEO_KEY_ID)) + assertFalse(key.hasPublicKey(TestKeys.ROMEO_FINGERPRINT)) + } + + @Test + fun `test requirePublicKey on secret key ring`() { + val key = TestKeys.getJulietSecretKeyRing() + assertNotNull(assertDoesNotThrow { + key.requirePublicKey(TestKeys.JULIET_KEY_ID) + }) + assertNotNull(assertDoesNotThrow { + key.requirePublicKey(TestKeys.JULIET_FINGERPRINT) + }) + + assertThrows { + key.requirePublicKey(TestKeys.ROMEO_KEY_ID) + } + assertThrows { + key.requirePublicKey(TestKeys.ROMEO_FINGERPRINT) + } + } + + @Test + fun `test requirePublicKey on public key ring`() { + val key = TestKeys.getJulietPublicKeyRing() + assertNotNull(assertDoesNotThrow { + key.requirePublicKey(TestKeys.JULIET_KEY_ID) + }) + assertNotNull(assertDoesNotThrow { + key.requirePublicKey(TestKeys.JULIET_FINGERPRINT) + }) + + assertThrows { + key.requirePublicKey(TestKeys.ROMEO_KEY_ID) + } + assertThrows { + key.requirePublicKey(TestKeys.ROMEO_FINGERPRINT) + } + } +}