[java-idp-testbed COMMIT] /trunk/src/test/java/idp/AbstractFlowTest.java

noreply at shibboleth.net noreply at shibboleth.net
Wed May 28 15:11:35 EDT 2014


Author: scantor
Date: Wed May 28 15:11:34 2014
New Revision: 242

URL: http://svn.shibboleth.net/view/java-idp-testbed?rev=242&view=rev
Log:
- Rewire "Direct" SAML decoders into empty Transforming decoders.
- Fix default config and override config in tests to allow test SP to run Direct flows.

Modified:
    trunk/src/test/java/idp/AbstractFlowTest.java

Modified: trunk/src/test/java/idp/AbstractFlowTest.java
URL: http://svn.shibboleth.net/view/java-idp-testbed/trunk/src/test/java/idp/AbstractFlowTest.java?rev=242&r1=241&r2=242&view=diff
==============================================================================
--- trunk/src/test/java/idp/AbstractFlowTest.java (original)
+++ trunk/src/test/java/idp/AbstractFlowTest.java Wed May 28 15:11:34 2014
@@ -18,6 +18,7 @@
 package idp;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -26,6 +27,10 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import net.shibboleth.idp.authn.SubjectCanonicalizationFlowDescriptor;
+import net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate;
+import net.shibboleth.idp.saml.nameid.impl.NameIDCanonicalization;
+import net.shibboleth.idp.saml.nameid.impl.NameIdentifierCanonicalization;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
 import net.shibboleth.utilities.java.support.net.IPRange;
@@ -69,7 +74,10 @@
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.BeforeTest;
 
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
 import com.unboundid.ldap.sdk.LDAPException;
+
 import common.InMemoryDirectory;
 import common.PathPropertySupport;
 
@@ -114,7 +122,13 @@
 
     /** The flow ID for IP address based authn. */
     @Nonnull public final static String IP_ADDRESS_AUTHN_FLOW_ID = "authn/IPAddress";
-
+    
+    /** The name of the bean defining the SAML 1 Direct c14n descriptor. */
+    @Nonnull public final static String SAML1_DIRECT_C14N_BEAN_NAME = "c14n/SAML1Direct";
+
+    /** The name of the bean defining the SAML 2 Direct c14n descriptor. */
+    @Nonnull public final static String SAML2_DIRECT_C14N_BEAN_NAME = "c14n/SAML2Direct";
+    
     /** In-memory directory server. */
     @NonnullAfterInit protected InMemoryDirectory directoryServer;
 
@@ -311,4 +325,25 @@
         map.put("jdoe", ipRanges);
     }
 
-}
+    /**
+     * Configure Direct NameID c14n by overriding the activation condition attached to the Direct c14n descriptors.
+     */
+    @BeforeMethod public void overrideDirectNamePredicates() {
+        
+        Predicate<ProfileRequestContext> condition = Predicates.and(
+                new NameIdentifierCanonicalization.ActivationCondition(),
+                new RelyingPartyIdPredicate(Collections.singletonList(SP_ENTITY_ID)));
+        
+        SubjectCanonicalizationFlowDescriptor c14n =
+                applicationContext.getBean(SAML1_DIRECT_C14N_BEAN_NAME, SubjectCanonicalizationFlowDescriptor.class);
+        c14n.setActivationCondition(condition);
+
+        condition = Predicates.and(
+                new NameIDCanonicalization.ActivationCondition(),
+                new RelyingPartyIdPredicate(Collections.singletonList(SP_ENTITY_ID)));
+        
+        c14n = applicationContext.getBean(SAML2_DIRECT_C14N_BEAN_NAME, SubjectCanonicalizationFlowDescriptor.class);
+        c14n.setActivationCondition(condition);
+    }
+    
+}



More information about the commits mailing list