[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 16:02:28 EDT 2014


Author: tzeller
Date: Fri Apr 25 16:02:28 2014
New Revision: 207

URL: http://svn.shibboleth.net/view/java-idp-testbed?rev=207&view=rev
Log:
Checkpoint some flow test work.

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=207&r1=206&r2=207&view=diff
==============================================================================
--- trunk/src/test/java/idp/saml2/AbstractSAML2FlowTest.java (original)
+++ trunk/src/test/java/idp/saml2/AbstractSAML2FlowTest.java Fri Apr 25 16:02:28 2014
@@ -33,6 +33,9 @@
 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.AuthnContext;
+import org.opensaml.saml.saml2.core.AuthnContextClassRef;
+import org.opensaml.saml.saml2.core.AuthnStatement;
 import org.opensaml.saml.saml2.core.Conditions;
 import org.opensaml.saml.saml2.core.NameID;
 import org.opensaml.saml.saml2.core.Response;
@@ -59,7 +62,7 @@
      * <ul>
      * <li>{@link #validateSubject(Subject)}</li>
      * <li>{@link #validateConditions(Assertion)}</li>
-     * <li>{@link #validateAuthenticationStatements(Assertion)}</li>
+     * <li>{@link #validateAuthnStatements(Assertion)}</li>
      * <li>{@link #validateAttributeStatements(Assertion)}</li>
      * </ul>
      * Calls assert methods :
@@ -105,11 +108,9 @@
 
         validateConditions(assertion);
 
-        validateAuthenticationStatements(assertion);
+        validateAuthnStatements(assertion);
 
         validateAttributeStatements(assertion);
-
-        // TODO much more
     }
 
     /**
@@ -166,14 +167,22 @@
      * <p>
      * Calls assert methods :
      * <ul>
-     * <li></li>
+     * <li>{@link #assertAuthnStatements(List)}</li>
+     * <li>{@link #assertAuthnStatement(AuthnStatement)}</li>
+     * <li>{@link #assertAuthnContextClassRef(AuthnContextClassRef)}</li>
      * </ul>
      * 
      * @param assertion the assertion
      */
-    public void validateAuthenticationStatements(@Nullable final Assertion assertion) {
+    public void validateAuthnStatements(@Nullable final Assertion assertion) {
         Assert.assertNotNull(assertion);
-        // TODO implement
+
+        final List<AuthnStatement> authnStatements = assertion.getAuthnStatements();
+        assertAuthnStatements(authnStatements);
+
+        final AuthnStatement authnStatement = authnStatements.get(0);
+        assertAuthnStatement(authnStatement);
+        assertAuthnContextClassRef(authnStatement.getAuthnContext().getAuthnContextClassRef());
     }
 
     /**
@@ -199,8 +208,6 @@
 
         final List<Attribute> attributes = attributeStatement.getAttributes();
         assertAttributes(attributes);
-
-        // TODO
     }
 
     /**
@@ -292,8 +299,6 @@
     public void assertSubjectConfirmation(@Nullable final SubjectConfirmation subjectConfirmation) {
         Assert.assertNotNull(subjectConfirmation);
         Assert.assertNotNull(subjectConfirmation.getMethod());
-        // TODO implement
-        // SubjectConfirmationData scd = subjectConfirmation.getSubjectConfirmationData();
     }
 
     /**
@@ -345,7 +350,6 @@
         Assert.assertNotNull(conditions.getNotBefore());
         Assert.assertNotNull(conditions.getNotOnOrAfter());
         // TODO check time via some range ?
-        // TODO implement
     }
 
     /**
@@ -371,6 +375,39 @@
 
         final Audience audience = audiences.get(0);
         Assert.assertEquals(audience.getAudienceURI(), AbstractFlowTest.SP_ENTITY_ID);
+    }
+
+    /**
+     * Assert that a single authn statement is present.
+     * 
+     * @param authnStatements the authn statements
+     */
+    public void assertAuthnStatements(@Nullable final List<AuthnStatement> authnStatements) {
+        Assert.assertNotNull(authnStatements);
+        Assert.assertEquals(authnStatements.size(), 1);
+        Assert.assertNotNull(authnStatements.get(0));
+    }
+
+    /**
+     * Assert that the authn statement has an authn instant and authn context class ref.
+     * 
+     * @param authnStatement the authn statement
+     */
+    public void assertAuthnStatement(@Nonnull final AuthnStatement authnStatement) {
+        Assert.assertNotNull(authnStatement);
+        Assert.assertNotNull(authnStatement.getAuthnInstant());
+        // TODO check authn instant time ?
+        Assert.assertNotNull(authnStatement.getAuthnContext());
+        Assert.assertNotNull(authnStatement.getAuthnContext().getAuthnContextClassRef());
+    }
+
+    /**
+     * Assert that the authn context class ref is {@link AuthnContext#IP_AUTHN_CTX}.
+     * 
+     * @param authnContextClassRef the authn context class ref
+     */
+    public void assertAuthnContextClassRef(@Nullable final AuthnContextClassRef authnContextClassRef) {

[... 35 lines stripped ...]


More information about the commits mailing list