From fdcdf6270fe6d1250aa3c5155e8108b5929c5551 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Mon, 16 Jun 2025 11:21:31 +0200 Subject: [PATCH] Add test for PolicyAdapter properly adapting NotationRegistry implementations --- .../org/bouncycastle/PolicyAdapterTest.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 pgpainless-core/src/test/java/org/bouncycastle/PolicyAdapterTest.java diff --git a/pgpainless-core/src/test/java/org/bouncycastle/PolicyAdapterTest.java b/pgpainless-core/src/test/java/org/bouncycastle/PolicyAdapterTest.java new file mode 100644 index 00000000..9407d7d0 --- /dev/null +++ b/pgpainless-core/src/test/java/org/bouncycastle/PolicyAdapterTest.java @@ -0,0 +1,37 @@ +// SPDX-FileCopyrightText: 2025 Paul Schaub +// +// SPDX-License-Identifier: Apache-2.0 + +package org.bouncycastle; + +import org.bouncycastle.openpgp.api.OpenPGPPolicy; +import org.junit.jupiter.api.Test; +import org.pgpainless.PGPainless; +import org.pgpainless.bouncycastle.PolicyAdapter; +import org.pgpainless.policy.Policy; +import org.pgpainless.util.NotationRegistry; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class PolicyAdapterTest { + + @Test + public void testNotationRegistryAdaption() { + NotationRegistry pgpainlessNotationReg = new NotationRegistry(); + pgpainlessNotationReg.addKnownNotation("foo"); + + Policy policy = PGPainless.getInstance().getAlgorithmPolicy() + .copy() + .withNotationRegistry(pgpainlessNotationReg) + .build(); + + PolicyAdapter adapter = new PolicyAdapter(policy); + OpenPGPPolicy.OpenPGPNotationRegistry bcNotationReg = adapter.getNotationRegistry(); + assertTrue(bcNotationReg.isNotationKnown("foo")); + assertFalse(bcNotationReg.isNotationKnown("bar")); + bcNotationReg.addKnownNotation("bar"); + + assertTrue(pgpainlessNotationReg.isKnownNotation("bar")); + } +}