From a65ea261814934bb76efdc01de48ad36fe17f223 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Fri, 11 Jun 2021 16:47:22 +0200 Subject: [PATCH] Add tests for PublicKeyAlgorithmPolicy --- .../pgpainless/policy/PolicySetterTest.java | 22 +++++++++++++++++++ .../org/pgpainless/policy/PolicyTest.java | 3 +++ 2 files changed, 25 insertions(+) diff --git a/pgpainless-core/src/test/java/org/pgpainless/policy/PolicySetterTest.java b/pgpainless-core/src/test/java/org/pgpainless/policy/PolicySetterTest.java index 1ef60ec3..2511049e 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/policy/PolicySetterTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/policy/PolicySetterTest.java @@ -15,9 +15,14 @@ */ package org.pgpainless.policy; +import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; +import java.util.HashMap; +import java.util.Map; + import org.junit.jupiter.api.Test; +import org.pgpainless.algorithm.PublicKeyAlgorithm; public class PolicySetterTest { @@ -50,4 +55,21 @@ public class PolicySetterTest { Policy policy = Policy.getInstance(); assertThrows(NullPointerException.class, () -> policy.setCompressionAlgorithmPolicy(null)); } + + @Test + public void testSetPublicKeyAlgorithmPolicy_NullFails() { + Policy policy = Policy.getInstance(); + assertThrows(NullPointerException.class, () -> policy.setPublicKeyAlgorithmPolicy(null)); + } + + @Test + public void testNonRegisteredPublicKeyAlgorithm() { + Policy policy = new Policy(); + Map acceptableAlgorithms = new HashMap<>(); + acceptableAlgorithms.put(PublicKeyAlgorithm.RSA_GENERAL, 2000); + policy.setPublicKeyAlgorithmPolicy(new Policy.PublicKeyAlgorithmPolicy(acceptableAlgorithms)); + + // Policy does not contain ECDSA + assertFalse(policy.getPublicKeyAlgorithmPolicy().isAcceptable(PublicKeyAlgorithm.ECDSA, 256)); + } } diff --git a/pgpainless-core/src/test/java/org/pgpainless/policy/PolicyTest.java b/pgpainless-core/src/test/java/org/pgpainless/policy/PolicyTest.java index 1957cd1e..732f1b47 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/policy/PolicyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/policy/PolicyTest.java @@ -136,12 +136,15 @@ public class PolicyTest { @Test public void testAcceptablePublicKeyAlgorithm() { assertTrue(policy.getPublicKeyAlgorithmPolicy().isAcceptable(PublicKeyAlgorithm.ECDSA, 256)); + assertTrue(policy.getPublicKeyAlgorithmPolicy().isAcceptable(PublicKeyAlgorithm.ECDSA.getAlgorithmId(), 256)); assertTrue(policy.getPublicKeyAlgorithmPolicy().isAcceptable(PublicKeyAlgorithm.RSA_GENERAL, 3072)); + assertTrue(policy.getPublicKeyAlgorithmPolicy().isAcceptable(PublicKeyAlgorithm.RSA_GENERAL.getAlgorithmId(), 3072)); } @Test public void testUnacceptablePublicKeyAlgorithm() { assertFalse(policy.getPublicKeyAlgorithmPolicy().isAcceptable(PublicKeyAlgorithm.RSA_GENERAL, 1024)); + assertFalse(policy.getPublicKeyAlgorithmPolicy().isAcceptable(PublicKeyAlgorithm.RSA_GENERAL.getAlgorithmId(), 1024)); } @Test