Author: kkolinko Date: Thu Oct 20 11:56:54 2011 New Revision: 1186750 URL: http://svn.apache.org/viewvc?rev=1186750&view=rev Log: Expand the test to cover regression fixed in 7.0.23: check that parameters in the original request have reached the protected page. https://issues.apache.org/bugzilla/show_bug.cgi?id=51940#c9
Modified: tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java Modified: tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java?rev=1186750&r1=1186749&r2=1186750&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java (original) +++ tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java Thu Oct 20 11:56:54 2011 @@ -19,6 +19,7 @@ package org.apache.catalina.authenticato import java.io.File; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import org.junit.Test; @@ -123,7 +124,11 @@ public class TestFormAuthenticator exten StringBuilder requestHead = new StringBuilder(128); String requestTail; requestHead.append(method).append(" ").append(protectedLocation) - .append(protectedPage).append(" HTTP/1.1").append(CRLF); + .append(protectedPage); + if ("GET".equals(method)) { + requestHead.append("?role=bar"); + } + requestHead.append(" HTTP/1.1").append(CRLF); requestHead.append("Host: localhost").append(CRLF); requestHead.append("Connection: close").append(CRLF); if (getUseContinue()) { @@ -137,9 +142,9 @@ public class TestFormAuthenticator exten requestHead.append( "Content-Type: application/x-www-form-urlencoded") .append(CRLF); - requestHead.append("Content-length: 7").append(CRLF); + requestHead.append("Content-length: 8").append(CRLF); requestHead.append(CRLF); - requestTail = "foo=bar"; + requestTail = "role=bar"; } else { requestTail = CRLF; } @@ -190,20 +195,32 @@ public class TestFormAuthenticator exten @Override public boolean isResponseBodyOK() { - String expected; - if (requestCount == 1) { // First request should result in the login page - expected = "<title>Login Page for Examples</title>"; + assertContains(getResponseBody(), + "<title>Login Page for Examples</title>"); + return true; } else if (requestCount == 2) { // Second request should result in a redirect return true; } else { // Subsequent requests should result in the protected page - expected = "<title>Protected Page for Examples</title>"; + // The role parameter should have reached the page + String body = getResponseBody(); + assertContains(body, + "<title>Protected Page for Examples</title>"); + assertContains(body, + "<input type=\"text\" name=\"role\" value=\"bar\""); + return true; } - return getResponseBody().contains(expected); } + private void assertContains(String body, String expected) { + if (!body.contains(expected)) { + fail("Response body check failure.\n" + + "Expected to contain substring: [" + expected + + "]\nActual: [" + body + "]"); + } + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org