[java-oidc-common] branch main updated: JCOMOIDC-28 - Support for metadata policies

Henri Mikkonen henri.mikkonen at iki.fi
Wed Feb 23 06:30:47 UTC 2022


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=280f4db90dda4b3959ebd5ee392e132b6da36bff

The following commit(s) were added to refs/heads/main by this push:
     new 280f4db  JCOMOIDC-28 - Support for metadata policies
280f4db is described below

commit 280f4db90dda4b3959ebd5ee392e132b6da36bff
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Wed Feb 23 08:29:55 2022 +0200

    JCOMOIDC-28 - Support for metadata policies
    
    https://shibboleth.atlassian.net/browse/JCOMOIDC-28
    
    Improved unit testing: policy resolver now handles non-specified
    filenames.
---
 .../policy/impl/OIDCMetadataPolicyResolverTest.java   | 19 +++++++++++++++++--
 .../oidc/metadata/impl/metadata-policy-invalid.json   |  6 ++++++
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/oidc-common-metadata-impl/src/test/java/net/shibboleth/oidc/metadata/policy/impl/OIDCMetadataPolicyResolverTest.java b/oidc-common-metadata-impl/src/test/java/net/shibboleth/oidc/metadata/policy/impl/OIDCMetadataPolicyResolverTest.java
index 5ae1209..6095433 100644
--- a/oidc-common-metadata-impl/src/test/java/net/shibboleth/oidc/metadata/policy/impl/OIDCMetadataPolicyResolverTest.java
+++ b/oidc-common-metadata-impl/src/test/java/net/shibboleth/oidc/metadata/policy/impl/OIDCMetadataPolicyResolverTest.java
@@ -19,7 +19,6 @@ package net.shibboleth.oidc.metadata.policy.impl;
 
 import java.io.IOException;
 import java.time.Duration;
-import java.time.Instant;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -34,6 +33,7 @@ import net.shibboleth.oidc.metadata.cache.impl.BatchMetadataCacheBuilder;
 import net.shibboleth.oidc.metadata.cache.impl.BatchMetadataCacheBuilderSpec;
 import net.shibboleth.oidc.metadata.cache.impl.DefaultFileLoadingStrategy;
 import net.shibboleth.oidc.metadata.cache.impl.DefaultJSONMapParsingStrategy;
+import net.shibboleth.oidc.metadata.cache.impl.DefaultSourceMetadataExpirationTimeStrategy;
 import net.shibboleth.oidc.metadata.policy.MetadataPolicy;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
@@ -62,9 +62,10 @@ public class OIDCMetadataPolicyResolverTest {
         spec.setParsingStrategy(new DefaultJSONMapParsingStrategy<>(MetadataPolicy.class));
         spec.setMinRefreshDelay(Duration.ofMinutes(5));
         spec.setMaxRefreshDelay(Duration.ofMinutes(10));
-        spec.setSourceMetadataExpiryStrategy(m -> Instant.now().plus(Duration.ofMinutes(5)));
+        spec.setSourceMetadataExpiryStrategy(new DefaultSourceMetadataExpirationTimeStrategy(Duration.ofMinutes(5)));
         spec.setCriteriaToIdentifierStrategy(crit -> "id");
         spec.setIdentifierExtractionStrategy(crit -> "id");
+        spec.setMetadataValidPredicate(new DefaultMetadataPolicyValidator());
        
         spec.setMatchRequired(true);
 
@@ -73,6 +74,20 @@ public class OIDCMetadataPolicyResolverTest {
         return builder.build(spec);
     }
     
+    @Test
+    public void testNoPolicyFile() throws Exception {
+        initTest("");
+        final Iterator<Map<String, MetadataPolicy>> iter = resolver.resolve(new CriteriaSet()).iterator();
+        Assert.assertFalse(iter.hasNext());
+    }
+
+    @Test
+    public void testInvalidPolicy() throws Exception {
+        initTest("/net/shibboleth/oidc/metadata/impl/metadata-policy-invalid.json");
+        final Iterator<Map<String, MetadataPolicy>> iter = resolver.resolve(new CriteriaSet()).iterator();
+        Assert.assertFalse(iter.hasNext());
+    }
+
     @Test
     public void testFound() throws Exception {
         initTest("/net/shibboleth/oidc/metadata/impl/metadata-policy1.json");
diff --git a/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/metadata-policy-invalid.json b/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/metadata-policy-invalid.json
new file mode 100644
index 0000000..f88f347
--- /dev/null
+++ b/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/metadata-policy-invalid.json
@@ -0,0 +1,6 @@
+{
+    "grant_types": {
+        "one_of": ["authorization_code","implicit"],
+        "superset_of": ["invalid"]
+    }
+}
\ No newline at end of file

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


More information about the commits mailing list