[java-oidc-common] branch main updated: JCOMOIDC-96 - Support custom/additional metadata policy operators

Henri Mikkonen henri.mikkonen at iki.fi
Fri Feb 16 13:02:03 UTC 2024


This is an automated email from the git hooks/post-receive script.

hjmikkon pushed a commit to branch main
in repository java-oidc-common.

View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=ad8394de41d0fecf811cec5ca0465f550dcbe8d8

The following commit(s) were added to refs/heads/main by this push:
     new ad8394d  JCOMOIDC-96 - Support custom/additional metadata policy operators
ad8394d is described below

commit ad8394de41d0fecf811cec5ca0465f550dcbe8d8
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Fri Feb 16 15:00:57 2024 +0200

    JCOMOIDC-96 - Support custom/additional metadata policy operators
    
    https://shibboleth.atlassian.net/browse/JCOMOIDC-96
    
    Removed wrong non-null check for the value passed for the bean operator. It may be
    null. Improved tests.
---
 .../metadata/policy/impl/BeanMetadataPolicyOperator.java |  1 -
 .../policy/impl/BeanMetadataPolicyOperatorTest.java      | 16 +++++++++++++++-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/policy/impl/BeanMetadataPolicyOperator.java b/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/policy/impl/BeanMetadataPolicyOperator.java
index b8f182b..1d50205 100644
--- a/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/policy/impl/BeanMetadataPolicyOperator.java
+++ b/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/policy/impl/BeanMetadataPolicyOperator.java
@@ -45,7 +45,6 @@ public class BeanMetadataPolicyOperator implements CustomMetadataPolicyOperator,
     @Override
     public Object apply(final @Nullable Object inputValue, final @Nonnull MetadataPolicy policy)
             throws ConstraintViolationException {
-        Constraint.isNotNull(inputValue, "input value (bean ID) cannot be null");
         Constraint.isNotNull(policy, "metadata policy cannot be null");
         final Object rawBeanId = policy.getCustomOperators().get(BEAN_OPERATOR_NAME);
         if (rawBeanId instanceof String beanId) {
diff --git a/oidc-common-metadata-impl/src/test/java/net/shibboleth/oidc/metadata/policy/impl/BeanMetadataPolicyOperatorTest.java b/oidc-common-metadata-impl/src/test/java/net/shibboleth/oidc/metadata/policy/impl/BeanMetadataPolicyOperatorTest.java
index a879bb2..21d287a 100644
--- a/oidc-common-metadata-impl/src/test/java/net/shibboleth/oidc/metadata/policy/impl/BeanMetadataPolicyOperatorTest.java
+++ b/oidc-common-metadata-impl/src/test/java/net/shibboleth/oidc/metadata/policy/impl/BeanMetadataPolicyOperatorTest.java
@@ -48,11 +48,25 @@ public class BeanMetadataPolicyOperatorTest {
         Assert.assertEquals(operator.apply("mockValue", metadataPolicy("alwaysSame")), "mockValue");
     }
 
+    @Test
+    public void testSameWithNull() {
+        Mockito.when(applicationContext.getBean(Mockito.any(), Mockito.eq(CustomMetadataPolicyOperator.class)))
+            .thenReturn(alwaysSameOperator());
+        Assert.assertEquals(operator.apply(null, metadataPolicy("alwaysSame")), null);
+    }
+
     @Test
     public void testChanged() {
         Mockito.when(applicationContext.getBean(Mockito.any(), Mockito.eq(CustomMetadataPolicyOperator.class)))
             .thenReturn(alwaysChangedOperator());
-        Assert.assertEquals(operator.apply("changedValue", metadataPolicy("alwaysChanged")), "changedValue");
+        Assert.assertEquals(operator.apply("initialValue", metadataPolicy("alwaysChanged")), "changedValue");
+    }
+
+    @Test
+    public void testChangedWithNull() {
+        Mockito.when(applicationContext.getBean(Mockito.any(), Mockito.eq(CustomMetadataPolicyOperator.class)))
+            .thenReturn(alwaysChangedOperator());
+        Assert.assertEquals(operator.apply(null, metadataPolicy("alwaysChanged")), "changedValue");
     }
 
     @Test(expectedExceptions = { ConstraintViolationException.class })

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list