[java-idp-testbed COMMIT] in /trunk/src/test/java/idp/saml2: AbstractSAML2FlowTest.java SAML2AttributeQueryFlowTest.java

noreply at shibboleth.net noreply at shibboleth.net
Fri Apr 25 15:33:45 EDT 2014


Author: tzeller
Date: Fri Apr 25 15:33:44 2014
New Revision: 206

URL: http://svn.shibboleth.net/view/java-idp-testbed?rev=206&view=rev
Log:
Checkpoint some flow test work. More complete SAML 2 tests with overrides for the attribute query flow.

Modified:
    trunk/src/test/java/idp/saml2/AbstractSAML2FlowTest.java
    trunk/src/test/java/idp/saml2/SAML2AttributeQueryFlowTest.java

Modified: trunk/src/test/java/idp/saml2/AbstractSAML2FlowTest.java
URL: http://svn.shibboleth.net/view/java-idp-testbed/trunk/src/test/java/idp/saml2/AbstractSAML2FlowTest.java?rev=206&r1=205&r2=206&view=diff
==============================================================================
--- trunk/src/test/java/idp/saml2/AbstractSAML2FlowTest.java (original)
+++ trunk/src/test/java/idp/saml2/AbstractSAML2FlowTest.java Fri Apr 25 15:33:44 2014
@@ -31,12 +31,16 @@
 import org.opensaml.saml.saml2.core.Assertion;
 import org.opensaml.saml.saml2.core.Attribute;
 import org.opensaml.saml.saml2.core.AttributeStatement;
+import org.opensaml.saml.saml2.core.Audience;
+import org.opensaml.saml.saml2.core.AudienceRestriction;
 import org.opensaml.saml.saml2.core.Conditions;
 import org.opensaml.saml.saml2.core.NameID;
 import org.opensaml.saml.saml2.core.Response;
 import org.opensaml.saml.saml2.core.Status;
 import org.opensaml.saml.saml2.core.StatusCode;
 import org.opensaml.saml.saml2.core.Subject;
+import org.opensaml.saml.saml2.core.SubjectConfirmation;
+import org.opensaml.saml.saml2.core.SubjectConfirmationData;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.webflow.execution.FlowExecutionOutcome;
 import org.springframework.webflow.executor.FlowExecutionResult;
@@ -53,6 +57,7 @@
      * <p>
      * Calls validate methods :
      * <ul>
+     * <li>{@link #validateSubject(Subject)}</li>
      * <li>{@link #validateConditions(Assertion)}</li>
      * <li>{@link #validateAuthenticationStatements(Assertion)}</li>
      * <li>{@link #validateAttributeStatements(Assertion)}</li>
@@ -96,7 +101,7 @@
         final Assertion assertion = assertions.get(0);
         assertAssertion(assertion);
 
-        assertSubject(assertion.getSubject());
+        validateSubject(assertion.getSubject());
 
         validateConditions(assertion);
 
@@ -108,11 +113,38 @@
     }
 
     /**
+     * Validate the subject.
+     * <p>
+     * Calls assert methods :
+     * <ul>
+     * <li>{@link #assertSubject(Subject)}</li>
+     * <li>{@link #assertNameID(NameID)}</li>
+     * <li>{@link #assertSubjectConfirmations(List)}</li>
+     * <li>{@link #assertSubjectConfirmation(SubjectConfirmation)}</li>
+     * <li>{@link #assertSubjectConfirmationMethod(SubjectConfirmation)}</li>
+     * <li>{@link #assertSubjectConfirmationData(SubjectConfirmationData)}</li>
+     * </ul>
+     * 
+     * @param subject the subject
+     */
+    public void validateSubject(@Nullable final Subject subject) {
+        assertSubject(subject);
+        assertNameID(subject.getNameID());
+        assertSubjectConfirmations(subject.getSubjectConfirmations());
+        final SubjectConfirmation subjectConfirmation = subject.getSubjectConfirmations().get(0);
+        assertSubjectConfirmation(subjectConfirmation);
+        assertSubjectConfirmationMethod(subjectConfirmation);
+        assertSubjectConfirmationData(subjectConfirmation.getSubjectConfirmationData());
+    }
+
+    /**
      * Validate the assertion conditions.
      * <p>
      * Calls assert methods :
      * <ul>
-     * <li></li>
+     * <li>{@link #assertConditions(Conditions)}</li>
+     * <li>{@link #assertAudienceRestrictions(List)}</li>
+     * <li>{@link #assertAudienceRestriction(AudienceRestriction)}</li>
      * </ul>
      * 
      * @param assertion the assertion
@@ -122,7 +154,11 @@
 
         final Conditions conditions = assertion.getConditions();
         assertConditions(conditions);
-        // TODO implement
+
+        final List<AudienceRestriction> audienceRestrictions = conditions.getAudienceRestrictions();
+        assertAudienceRestrictions(audienceRestrictions);
+
+        assertAudienceRestriction(audienceRestrictions.get(0));
     }
 
     /**
@@ -229,6 +265,7 @@
     /**
      * Assert that the subject has a nameID and subject confirmations.
      * 
+     * 
      * @param subject the subject
      */
     public void assertSubject(@Nullable final Subject subject) {
@@ -237,15 +274,103 @@
         Assert.assertNotNull(subject.getSubjectConfirmations());
     }
 
+    /**
+     * Assert that a single subject confirmation is present.
+     * 
+     * @param subjectConfirmations the subject confirmations
+     */
+    public void assertSubjectConfirmations(@Nullable final List<SubjectConfirmation> subjectConfirmations) {
+        Assert.assertNotNull(subjectConfirmations);
+        Assert.assertEquals(subjectConfirmations.size(), 1);
+    }
+
+    /**
+     * Assert that the subject confirmation has a confirmation method.
+     * 
+     * @param subjectConfirmation the subject confirmation
+     */

[... 156 lines stripped ...]


More information about the commits mailing list