[java-idp-testbed COMMIT] in /trunk/src/test/java/idp: saml1/AbstractSAML1FlowTest.java saml1/SAML1AttributeQueryFlow...
noreply at shibboleth.net
noreply at shibboleth.net
Mon Jun 2 18:48:59 EDT 2014
Author: tzeller
Date: Mon Jun 2 18:48:58 2014
New Revision: 253
URL: http://svn.shibboleth.net/view/java-idp-testbed?rev=253&view=rev
Log:
Tests for attribute queries without an SP credential.
Modified:
trunk/src/test/java/idp/saml1/AbstractSAML1FlowTest.java
trunk/src/test/java/idp/saml1/SAML1AttributeQueryFlowTest.java
trunk/src/test/java/idp/saml2/AbstractSAML2FlowTest.java
trunk/src/test/java/idp/saml2/SAML2AttributeQueryFlowTest.java
Modified: trunk/src/test/java/idp/saml1/AbstractSAML1FlowTest.java
URL: http://svn.shibboleth.net/view/java-idp-testbed/trunk/src/test/java/idp/saml1/AbstractSAML1FlowTest.java?rev=253&r1=252&r2=253&view=diff
==============================================================================
--- trunk/src/test/java/idp/saml1/AbstractSAML1FlowTest.java (original)
+++ trunk/src/test/java/idp/saml1/AbstractSAML1FlowTest.java Mon Jun 2 18:48:58 2014
@@ -23,6 +23,7 @@
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import javax.xml.namespace.QName;
import net.shibboleth.idp.saml.xml.SAMLConstants;
@@ -56,6 +57,12 @@
@ContextConfiguration({"/system/conf/testbed-beans.xml", })
public abstract class AbstractSAML1FlowTest extends AbstractFlowTest {
+ /** The expected status code.*/
+ protected QName statusCode = StatusCode.SUCCESS;
+
+ /** The expected status message when an error occurs. */
+ protected String statusMessage = "An error occurred.";
+
/**
* Top level validation of the {@link FlowExecutionResult}.
* <p>
@@ -96,6 +103,11 @@
assertResponse(response);
assertStatus(response.getStatus());
+
+ // short circuit validation upon error
+ if (statusCode != StatusCode.SUCCESS) {
+ return;
+ }
final List<Assertion> assertions = response.getAssertions();
assertAssertions(assertions);
@@ -242,7 +254,10 @@
public void assertStatus(@Nullable final Status status) {
Assert.assertNotNull(status);
Assert.assertNotNull(status.getStatusCode());
- Assert.assertEquals(status.getStatusCode().getValue(), StatusCode.SUCCESS);
+ Assert.assertEquals(status.getStatusCode().getValue(), statusCode);
+ if (statusCode != StatusCode.SUCCESS) {
+ Assert.assertEquals(status.getStatusMessage().getMessage(), statusMessage);
+ }
}
/**
Modified: trunk/src/test/java/idp/saml1/SAML1AttributeQueryFlowTest.java
URL: http://svn.shibboleth.net/view/java-idp-testbed/trunk/src/test/java/idp/saml1/SAML1AttributeQueryFlowTest.java?rev=253&r1=252&r2=253&view=diff
==============================================================================
--- trunk/src/test/java/idp/saml1/SAML1AttributeQueryFlowTest.java (original)
+++ trunk/src/test/java/idp/saml1/SAML1AttributeQueryFlowTest.java Mon Jun 2 18:48:58 2014
@@ -31,6 +31,7 @@
import org.opensaml.saml.saml1.core.NameIdentifier;
import org.opensaml.saml.saml1.core.Request;
import org.opensaml.saml.saml1.core.Response;
+import org.opensaml.saml.saml1.core.StatusCode;
import org.opensaml.saml.saml1.core.Subject;
import org.opensaml.saml.saml1.profile.SAML1ActionTestingSupport;
import org.opensaml.security.messaging.ServletRequestX509CredentialAdapter;
@@ -61,12 +62,38 @@
@Test public void testSAML1AttributeQueryFlow() throws Exception {
buildRequest();
-
+
+ request.setAttribute(ServletRequestX509CredentialAdapter.X509_CERT_REQUEST_ATTRIBUTE,
+ new X509Certificate[] {certFactoryBean.getObject()});
+
overrideEndStateOutput(FLOW_ID);
final FlowExecutionResult result = flowExecutor.launchExecution(FLOW_ID, null, externalContext);
validateResult(result, FLOW_ID);
+ }
+
+ /**
+ * Test the SAML1 Attribute Query flow without an SP credential.
+ *
+ * @throws Exception if an error occurs
+ */
+ @Test public void testSAML1AttributeQueryFlowNoCredential() throws Exception {
+ try {
+ // expect an error
+ statusCode = StatusCode.REQUESTER;
+
+ buildRequest();
+
+ overrideEndStateOutput(FLOW_ID);
+
+ final FlowExecutionResult result = flowExecutor.launchExecution(FLOW_ID, null, externalContext);
+
+ validateResult(result, FLOW_ID);
+ } finally {
+ // reset expectation of success
+ statusCode = StatusCode.SUCCESS;
+ }
}
/**
@@ -89,8 +116,6 @@
parserPool.newDocument()));
request.setMethod("POST");
- request.setAttribute(ServletRequestX509CredentialAdapter.X509_CERT_REQUEST_ATTRIBUTE,
- new X509Certificate[] {certFactoryBean.getObject()});
request.setContent(requestContent.getBytes("UTF-8"));
}
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=253&r1=252&r2=253&view=diff
[... 136 lines stripped ...]
More information about the commits
mailing list