[java-opensaml] branch main updated: Add Conditions builder to test class.

Scott Cantor cantor.2 at osu.edu
Mon Oct 7 19:44:33 UTC 2024


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

scantor pushed a commit to branch main
in repository java-opensaml.

View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=7c8ec652bbc3f1fc62b69448fefef24c8778ec8a

The following commit(s) were added to refs/heads/main by this push:
     new 7c8ec652b Add Conditions builder to test class.
7c8ec652b is described below

commit 7c8ec652bbc3f1fc62b69448fefef24c8778ec8a
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Oct 7 15:44:30 2024 -0400

    Add Conditions builder to test class.
---
 .../saml2/testing/SAML2ActionTestingSupport.java   | 48 ++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/opensaml-testing/src/main/java/org/opensaml/saml/saml2/testing/SAML2ActionTestingSupport.java b/opensaml-testing/src/main/java/org/opensaml/saml/saml2/testing/SAML2ActionTestingSupport.java
index b05ee2408..aa5337813 100644
--- a/opensaml-testing/src/main/java/org/opensaml/saml/saml2/testing/SAML2ActionTestingSupport.java
+++ b/opensaml-testing/src/main/java/org/opensaml/saml/saml2/testing/SAML2ActionTestingSupport.java
@@ -30,10 +30,14 @@ import org.opensaml.saml.saml2.core.ArtifactResolve;
 import org.opensaml.saml.saml2.core.ArtifactResponse;
 import org.opensaml.saml.saml2.core.AttributeStatement;
 import org.opensaml.saml.saml2.core.AttributeValue;
+import org.opensaml.saml.saml2.core.Audience;
+import org.opensaml.saml.saml2.core.AudienceRestriction;
 import org.opensaml.saml.saml2.core.AuthnContext;
 import org.opensaml.saml.saml2.core.AuthnContextClassRef;
 import org.opensaml.saml.saml2.core.AuthnRequest;
 import org.opensaml.saml.saml2.core.AuthnStatement;
+import org.opensaml.saml.saml2.core.Condition;
+import org.opensaml.saml.saml2.core.Conditions;
 import org.opensaml.saml.saml2.core.IDPEntry;
 import org.opensaml.saml.saml2.core.IDPList;
 import org.opensaml.saml.saml2.core.Assertion;
@@ -370,6 +374,50 @@ public class SAML2ActionTestingSupport {
         return issuer;
     }
     
+    /**
+     * Builds a {@link Conditions}, with optional content.
+     * 
+     * @param notBefore the NotBefore to set
+     * @param notOnOrAfter the NotOnOrAfter to set
+     * @param audience audience to place into {@link AudienceRestriction}
+     * 
+     * @return the object
+     * 
+     * @since 5.2.0
+     */
+    @Nonnull public static Conditions buildConditions(@Nullable final Instant notBefore,
+            @Nullable final Instant notOnOrAfter, @Nullable final String audience) {
+        final SAMLObjectBuilder<Conditions> conditionsBuilder = (SAMLObjectBuilder<Conditions>)
+                XMLObjectProviderRegistrySupport.getBuilderFactory().<Conditions>ensureBuilder(
+                        Conditions.DEFAULT_ELEMENT_NAME);
+        final SAMLObjectBuilder<AudienceRestriction> audienceCondBuilder = (SAMLObjectBuilder<AudienceRestriction>)
+                XMLObjectProviderRegistrySupport.getBuilderFactory().<AudienceRestriction>ensureBuilder(
+                        AudienceRestriction.DEFAULT_ELEMENT_NAME);
+        final SAMLObjectBuilder<Audience> audienceBuilder = (SAMLObjectBuilder<Audience>)
+                XMLObjectProviderRegistrySupport.getBuilderFactory().<Audience>ensureBuilder(
+                        Audience.DEFAULT_ELEMENT_NAME);
+        
+        final Conditions conditions = conditionsBuilder.buildObject();
+        
+        if (notBefore != null) {
+            conditions.setNotBefore(notBefore);
+        }
+        
+        if (notOnOrAfter != null) {
+            conditions.setNotOnOrAfter(notOnOrAfter);
+        }
+        
+        if (audience != null) {
+            final Audience aud = audienceBuilder.buildObject();
+            aud.setURI(audience);
+            final AudienceRestriction cond = audienceCondBuilder.buildObject();
+            cond.getAudiences().add(aud);
+            conditions.getAudienceRestrictions().add(cond);
+        }
+        
+        return conditions;
+    }
+    
     /**
      * Builds an {@link AttributeQuery}. If a {@link Subject} is given, it will be added to the constructed
      * {@link AttributeQuery}.

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


More information about the commits mailing list