Author: rjung
Date: Mon Dec 15 21:22:53 2014
New Revision: 1645763

URL: http://svn.apache.org/r1645763
Log:
Add tests for AJP connector "requiredSecret"
feature.

Modified:
    tomcat/trunk/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java

Modified: tomcat/trunk/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java?rev=1645763&r1=1645762&r2=1645763&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java 
(original)
+++ tomcat/trunk/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java Mon 
Dec 15 21:22:53 2014
@@ -445,6 +445,66 @@ public class TestAbstractAjpProcessor ex
     }
 
     @Test
+    public void testSecret() throws Exception {
+        Tomcat tomcat = getTomcatInstance();
+        tomcat.getConnector().setProperty("requiredSecret", "RIGHTSECRET");
+        tomcat.start();
+
+        // No file system docBase required
+        Context ctx = tomcat.addContext("", null);
+
+        Tomcat.addServlet(ctx, "helloWorld", new HelloWorldServlet());
+        ctx.addServletMapping("/", "helloWorld");
+
+        SimpleAjpClient ajpClient = new SimpleAjpClient();
+
+        ajpClient.setPort(getPort());
+
+        ajpClient.connect();
+        validateCpong(ajpClient.cping());
+
+        TesterAjpMessage forwardMessage = ajpClient.createForwardMessage();
+        forwardMessage.end();
+
+        TesterAjpMessage responseHeaders = 
ajpClient.sendMessage(forwardMessage);
+        // Expect 3 packets: headers, body, end
+        validateResponseHeaders(responseHeaders, 403, "Forbidden");
+        //TesterAjpMessage responseBody = ajpClient.readMessage();
+        //validateResponseBody(responseBody, HelloWorldServlet.RESPONSE_TEXT);
+        validateResponseEnd(ajpClient.readMessage(), false);
+
+        ajpClient.connect();
+        validateCpong(ajpClient.cping());
+
+        forwardMessage = ajpClient.createForwardMessage();
+        forwardMessage.addAttribute(0x0C, "WRONGSECRET");
+        forwardMessage.end();
+
+        responseHeaders = ajpClient.sendMessage(forwardMessage);
+        // Expect 3 packets: headers, body, end
+        validateResponseHeaders(responseHeaders, 403, "Forbidden");
+        //responseBody = ajpClient.readMessage();
+        //validateResponseBody(responseBody, HelloWorldServlet.RESPONSE_TEXT);
+        validateResponseEnd(ajpClient.readMessage(), false);
+
+        ajpClient.connect();
+        validateCpong(ajpClient.cping());
+
+        forwardMessage = ajpClient.createForwardMessage();
+        forwardMessage.addAttribute(0x0C, "RIGHTSECRET");
+        forwardMessage.end();
+
+        responseHeaders = ajpClient.sendMessage(forwardMessage);
+        // Expect 3 packets: headers, body, end
+        validateResponseHeaders(responseHeaders, 200, "OK");
+        TesterAjpMessage responseBody = ajpClient.readMessage();
+        validateResponseBody(responseBody, HelloWorldServlet.RESPONSE_TEXT);
+        validateResponseEnd(ajpClient.readMessage(), true);
+
+        ajpClient.disconnect();
+    }
+
+    @Test
     public void testKeepAlive() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         tomcat.getConnector().setProperty("connectionTimeout", "-1");



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to