[java-plugin-shibd-saml] branch main updated: Enable cookie-based relay state in initiator tests.

Scott Cantor cantor.2 at osu.edu
Thu Apr 10 16:49:56 UTC 2025


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

scantor pushed a commit to branch main
in repository java-plugin-shibd-saml.

View the commit online:
http://git.shibboleth.net/view/?p=java-plugin-shibd-saml.git;a=commit;h=912a9fd73917d0afa3f211e0de741f00ba974d94

The following commit(s) were added to refs/heads/main by this push:
     new 912a9fd  Enable cookie-based relay state in initiator tests.
912a9fd is described below

commit 912a9fd73917d0afa3f211e0de741f00ba974d94
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Apr 10 12:49:54 2025 -0400

    Enable cookie-based relay state in initiator tests.
---
 .../flows/saml2/SAML2SessionInitiatorFlowTest.java   | 20 +++++++++++++++++++-
 .../saml/flows/saml2/SAML2TokenConsumerFlowTest.java |  4 +---
 ...SAMLEnvironmentApplicationContextInitializer.java |  1 +
 3 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2SessionInitiatorFlowTest.java b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2SessionInitiatorFlowTest.java
index d5be9fe..759ce18 100644
--- a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2SessionInitiatorFlowTest.java
+++ b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2SessionInitiatorFlowTest.java
@@ -50,6 +50,7 @@ import net.shibboleth.shared.primitive.NonnullSupplier;
 import net.shibboleth.sp.context.AgentRequestContext;
 import net.shibboleth.sp.ddf.DDF;
 import net.shibboleth.sp.flows.AbstractSPFlowTest;
+import net.shibboleth.sp.messaging.RemotedHttpServletRequest;
 import net.shibboleth.sp.profile.InitiatorConstants;
 import net.shibboleth.sp.profile.SPConstants;
 import net.shibboleth.sp.saml.saml2.profile.SAML2InitiatorConstants;
@@ -94,6 +95,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         setApplicationRequest("no-metadata", input);
 
@@ -113,6 +115,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         setApplicationRequest("no-profile", input);
 
@@ -132,6 +135,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
 
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         setApplicationRequest("no-endpoint", input);
 
@@ -151,7 +155,9 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
     public void testNoResponseURL() throws IOException, MessageDecodingException {
         setDefaultAuth();
 
-        setApplicationRequest(APPLICATION_ID, null);
+        final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
+        setApplicationRequest(APPLICATION_ID, input);
 
         final FlowExecutionResult result = flowExecutor.launchExecution(FLOW_ID, null, externalContext);
         assertFlowExecutionResult(result, FLOW_ID);
@@ -180,6 +186,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         input.addmember(SPConstants.STATE).string("foostate");
         setApplicationRequest(APPLICATION_ID, input);
@@ -210,6 +217,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         final DDF endpoints = input.addmember(InitiatorConstants.RESPONSE_URL).list();
         endpoints.add(new DDF("POST").string(POST_RESPONSE_URL));
         endpoints.add(new DDF("Artifact").string(ARTIFACT_RESPONSE_URL));
@@ -241,6 +249,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         final DDF endpoints = input.addmember(InitiatorConstants.RESPONSE_URL).list();
         endpoints.add(new DDF("POST").string(POST_RESPONSE_URL));
         endpoints.add(new DDF("Artifact").string(ARTIFACT_RESPONSE_URL));
@@ -272,6 +281,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         final DDF endpoints = input.addmember(InitiatorConstants.RESPONSE_URL).list();
         endpoints.add(new DDF("POST").string(POST_RESPONSE_URL));
         endpoints.add(new DDF("NoMatch").string(ARTIFACT_RESPONSE_URL));
@@ -295,6 +305,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         input.addmember(SPConstants.TARGET).unsafe_string("https://sp.example.org/cgi-bin/test.cgi?foo=bar%20baz&frobnitz=zorkmid".getBytes(StandardCharsets.UTF_8));
         
@@ -326,6 +337,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         input.addmember(SAML2InitiatorConstants.FORCE_AUTHN).integer(1);
         setApplicationRequest(APPLICATION_ID, input);
@@ -354,6 +366,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         input.addmember(SAML2InitiatorConstants.FORCE_AUTHN).integer(1);
         setApplicationRequest("feature-blocking", input);
@@ -382,6 +395,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         input.addmember(SAML2InitiatorConstants.IS_PASSIVE).integer(1);
         setApplicationRequest(APPLICATION_ID, input);
@@ -410,6 +424,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         input.addmember(SAML2InitiatorConstants.NAMEID_FORMAT).string(NameIDType.EMAIL);
         setApplicationRequest(APPLICATION_ID, input);
@@ -438,6 +453,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         input.addmember(SAML2InitiatorConstants.NAMEID_FORMAT).string(NameIDType.EMAIL);
         setApplicationRequest("feature-blocking", input);
@@ -466,6 +482,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         final DDF aclist = input.addmember(SAML2InitiatorConstants.AUTHN_CONTEXT_CLASS_REF).list();
         aclist.add(new DDF(null).string(AuthnContext.X509_AUTHN_CTX));
@@ -503,6 +520,7 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         setDefaultAuth();
         
         final DDF input = new DDF(null).structure();
+        input.addmember(RemotedHttpServletRequest.STRUCTURE_NAME).structure();
         input.addmember(InitiatorConstants.RESPONSE_URL).string(RESPONSE_URL);
         final DDF aclist = input.addmember(SAML2InitiatorConstants.AUTHN_CONTEXT_CLASS_REF).list();
         aclist.add(new DDF(null).string(AuthnContext.X509_AUTHN_CTX));
diff --git a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2TokenConsumerFlowTest.java b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2TokenConsumerFlowTest.java
index 3bf36e2..152641e 100644
--- a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2TokenConsumerFlowTest.java
+++ b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2TokenConsumerFlowTest.java
@@ -63,8 +63,6 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Charsets;
-
 import net.shibboleth.idp.authn.AuthnEventIds;
 import net.shibboleth.idp.profile.IdPEventIds;
 import net.shibboleth.shared.codec.Base64Support;
@@ -672,7 +670,7 @@ public class SAML2TokenConsumerFlowTest extends AbstractSPFlowTest {
             http.addmember(RemotedHttpServletRequest.REQUEST_URL).unsafe_string(RESPONSE_URL.getBytes(StandardCharsets.UTF_8));
             
             http.addmember(RemotedHttpServletRequest.BODY).unsafe_string(Constraint.isNotNull(URISupport.buildQuery(
-                    CollectionSupport.listOf(new Pair<>("SAMLResponse", base64))), "Query string is null").getBytes(Charsets.UTF_8));
+                    CollectionSupport.listOf(new Pair<>("SAMLResponse", base64))), "Query string is null").getBytes(StandardCharsets.UTF_8));
             
             return obj;
         } catch (final MarshallingException | EncodingException e) {
diff --git a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/TestSPSAMLEnvironmentApplicationContextInitializer.java b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/TestSPSAMLEnvironmentApplicationContextInitializer.java
index 9fd9a2f..b2881e3 100644
--- a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/TestSPSAMLEnvironmentApplicationContextInitializer.java
+++ b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/TestSPSAMLEnvironmentApplicationContextInitializer.java
@@ -44,6 +44,7 @@ public class TestSPSAMLEnvironmentApplicationContextInitializer
         mock.setProperty("idp.home", "classpath:/net/shibboleth/idp/module");
         mock.setProperty("idp.webflows", "classpath*:/flows");
         mock.setProperty("sp.service.agents.resources", "test.sp.saml.AgentResolverResources");
+        mock.setProperty("sp.stateToken.Manager","shibboleth.CookieStateTokenManager");
         mock.setProperty("idp.additionalProperties",
                 "/conf/ldap.properties, /conf/saml-nameid.properties, /conf/services.properties, /conf/admin/admin.properties, /conf/authn/authn.properties, /conf/c14n/subject-c14n.properties, /credentials/secrets.properties, /conf/sp/sp.properties, /conf/sp/saml.properties");
         applicationContext.getEnvironment().getPropertySources().addFirst(mock);

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


More information about the commits mailing list