[java-opensaml COMMIT] /trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/saml2/profile/SAML2ActionTestingSuppo...
noreply at shibboleth.net
noreply at shibboleth.net
Thu Aug 28 20:42:42 EDT 2014
Author: scantor
Date: Thu Aug 28 20:42:42 2014
New Revision: 4013
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4013&view=rev
Log:
Add method to build logout request.
Modified:
trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/saml2/profile/SAML2ActionTestingSupport.java
Modified: trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/saml2/profile/SAML2ActionTestingSupport.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/saml2/profile/SAML2ActionTestingSupport.java?rev=4013&r1=4012&r2=4013&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/saml2/profile/SAML2ActionTestingSupport.java (original)
+++ trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/saml2/profile/SAML2ActionTestingSupport.java Thu Aug 28 20:42:42 2014
@@ -20,6 +20,8 @@
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+
import org.joda.time.DateTime;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.profile.action.ActionTestingSupport;
@@ -34,6 +36,7 @@
import org.opensaml.saml.saml2.core.Assertion;
import org.opensaml.saml.saml2.core.AttributeQuery;
import org.opensaml.saml.saml2.core.Issuer;
+import org.opensaml.saml.saml2.core.LogoutRequest;
import org.opensaml.saml.saml2.core.LogoutResponse;
import org.opensaml.saml.saml2.core.NameID;
import org.opensaml.saml.saml2.core.Response;
@@ -93,6 +96,39 @@
}
/**
+ * Builds an {@link LogoutRequest}. If a {@link NameID} is given, it will be added to the constructed
+ * {@link LogoutRequest}.
+ *
+ * @param name the NameID to add to the request
+ *
+ * @return the built request
+ */
+ @Nonnull public static LogoutRequest buildLogoutRequest(final @Nullable NameID name) {
+ final SAMLObjectBuilder<Issuer> issuerBuilder = (SAMLObjectBuilder<Issuer>)
+ XMLObjectProviderRegistrySupport.getBuilderFactory().<Issuer>getBuilderOrThrow(
+ Issuer.DEFAULT_ELEMENT_NAME);
+
+ final SAMLObjectBuilder<LogoutRequest> reqBuilder = (SAMLObjectBuilder<LogoutRequest>)
+ XMLObjectProviderRegistrySupport.getBuilderFactory().<LogoutRequest>getBuilderOrThrow(
+ LogoutRequest.DEFAULT_ELEMENT_NAME);
+
+ final Issuer issuer = issuerBuilder.buildObject();
+ issuer.setValue(ActionTestingSupport.INBOUND_MSG_ISSUER);
+
+ final LogoutRequest req = reqBuilder.buildObject();
+ req.setID(REQUEST_ID);
+ req.setIssueInstant(new DateTime(0));
+ req.setIssuer(issuer);
+ req.setVersion(SAMLVersion.VERSION_20);
+
+ if (name != null) {
+ req.setNameID(name);
+ }
+
+ return req;
+ }
+
+ /**
* Builds an empty logout response. The ID of the message is {@link ActionTestingSupport#OUTBOUND_MSG_ID}, the issue
* instant is 1970-01-01T00:00:00Z and the SAML version is {@link SAMLVersion#VERSION_11}.
*
@@ -176,17 +212,28 @@
final Subject subject = subjectBuilder.buildObject();
if (principalName != null) {
- final SAMLObjectBuilder<NameID> nameIdBuilder = (SAMLObjectBuilder<NameID>)
- XMLObjectProviderRegistrySupport.getBuilderFactory().<NameID>getBuilderOrThrow(
- NameID.DEFAULT_ELEMENT_NAME);
- final NameID nameId = nameIdBuilder.buildObject();
- nameId.setValue(principalName);
- subject.setNameID(nameId);
+ subject.setNameID(buildNameID(principalName));
}
return subject;
}
+ /**
+ * Builds a {@link NameID}.
+ *
+ * @param principalName the principal name to use in the NameID
+ *
+ * @return the built NameID
+ */
+ @Nonnull public static NameID buildNameID(final @Nonnull @NotEmpty String principalName) {
+ final SAMLObjectBuilder<NameID> nameIdBuilder = (SAMLObjectBuilder<NameID>)
+ XMLObjectProviderRegistrySupport.getBuilderFactory().<NameID>getBuilderOrThrow(
+ NameID.DEFAULT_ELEMENT_NAME);
+ final NameID nameId = nameIdBuilder.buildObject();
+ nameId.setValue(principalName);
+ return nameId;
+ }
+
/**
* Builds an {@link AttributeQuery}. If a {@link Subject} is given, it will be added to the constructed
* {@link AttributeQuery}.
More information about the commits
mailing list