Revision: 948
          http://jwebunit.svn.sourceforge.net/jwebunit/?rev=948&view=rev
Author:   henryju
Date:     2012-07-25 15:58:53 +0000 (Wed, 25 Jul 2012)
Log Message:
-----------
Add a test to distinguish User-Agent override from client side and server side 
point of view.

Modified Paths:
--------------
    
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/TestContextTest.java
    trunk/jwebunit-commons-tests/src/main/resources/testcases/WEB-INF/web.xml

Added Paths:
-----------
    
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/HeadersServlet.java

Modified: 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/TestContextTest.java
===================================================================
--- 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/TestContextTest.java
      2012-07-25 14:08:13 UTC (rev 947)
+++ 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/TestContextTest.java
      2012-07-25 15:58:53 UTC (rev 948)
@@ -46,7 +46,8 @@
     }
 
 
-    @Test public void testInit() {
+    @Test
+    public void testInit() {
         assertTrue(context.hasAuthorization());
         assertTrue(context.hasCookies());
         assertEquals(context.getUser(), "user");
@@ -61,13 +62,23 @@
         assertNull(context.getResourceBundleName());
     }
 
-    @Test public void testResourceBundle() {
+    @Test
+    public void testResourceBundle() {
         String name = "/TestContextBundle";
         context.setResourceBundleName("/TestContextBundle");
         assertEquals(name, context.getResourceBundleName());
     }
 
-    @Test public void testUserAgent() {
+    @Test
+    public void testServerSideUserAgentOverride() {
+        String userAgent = "Mozilla/5.0 (X11; U; Linux i686; en-US; 
rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3";
+        getTestContext().setUserAgent(userAgent);
+        beginAt("/headers.jsp");
+        assertTextPresent("User-Agent=[" + userAgent + "]");
+    }
+
+    @Test
+    public void testClientSideUserAgentOverride() {
         getTestContext().setBaseUrl(HOST_PATH + "/TestContextTest");
         String userAgent = "Mozilla/5.0 (X11; U; Linux i686; en-US; 
rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3";
         getTestContext().setUserAgent(userAgent);

Added: 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/HeadersServlet.java
===================================================================
--- 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/HeadersServlet.java
                          (rev 0)
+++ 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/HeadersServlet.java
  2012-07-25 15:58:53 UTC (rev 948)
@@ -0,0 +1,81 @@
+/**
+ * Copyright (c) 2011, JWebUnit team.
+ *
+ * This file is part of JWebUnit.
+ *
+ * JWebUnit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * JWebUnit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with JWebUnit.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package net.sourceforge.jwebunit.tests.util;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileItemFactory;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+
+/**
+ * Servlet to dump HTTP headers received by server.
+ * @author henryju
+ *
+ */
+public class HeadersServlet extends HttpServlet {
+
+    private static final long serialVersionUID = 1L;
+
+    protected void doGet(HttpServletRequest request,
+            HttpServletResponse response) throws ServletException, IOException 
{
+        doPost(request, response);
+    }
+
+    protected void doPost(HttpServletRequest request,
+            HttpServletResponse response) throws ServletException, IOException 
{
+        response.setContentType("text/html");
+        PrintWriter out = response.getWriter();
+        out.write(HtmlHelper.getStart("Received headers"));
+        out.write("<h1>Received headers</h1>\n<p>Headers are:<br/>");
+        /*
+         * Prints headers as name=[value] separated
+         * by <BR/>
+         */
+        java.util.Enumeration headers = request.getHeaderNames();
+        for (; headers.hasMoreElements();) {
+            String h = headers.nextElement().toString();
+            String v = request.getHeader(h);
+            out.write(h + "=[" + v);
+            if (headers.hasMoreElements()) {
+               out.write("]<br/>\n");
+            }
+        }
+        out.write("]</p>\n");
+        String ref = request.getHeader("Referer");
+        if (ref == null) {
+            if (request.getParameterValues("myReferer") != null) {
+                ref = request.getParameterValues("myReferer")[0];
+            }
+        }
+        out.write(HtmlHelper.getLinkParagraph("return", ref));
+        out.write(HtmlHelper.getEnd());
+    }
+
+}


Property changes on: 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/HeadersServlet.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: 
trunk/jwebunit-commons-tests/src/main/resources/testcases/WEB-INF/web.xml
===================================================================
--- trunk/jwebunit-commons-tests/src/main/resources/testcases/WEB-INF/web.xml   
2012-07-25 14:08:13 UTC (rev 947)
+++ trunk/jwebunit-commons-tests/src/main/resources/testcases/WEB-INF/web.xml   
2012-07-25 15:58:53 UTC (rev 948)
@@ -29,6 +29,10 @@
     
<servlet-class>net.sourceforge.jwebunit.tests.util.ParamsServlet</servlet-class>
 </servlet>
 <servlet>
+    <servlet-name>HeadersServlet</servlet-name>
+    
<servlet-class>net.sourceforge.jwebunit.tests.util.HeadersServlet</servlet-class>
+</servlet>
+<servlet>
     <servlet-name>CookiesServlet</servlet-name>
     
<servlet-class>net.sourceforge.jwebunit.tests.util.CookiesServlet</servlet-class>
 </servlet>
@@ -45,6 +49,10 @@
     <url-pattern>/params.jsp</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
+    <servlet-name>HeadersServlet</servlet-name>
+    <url-pattern>/headers.jsp</url-pattern>
+</servlet-mapping>
+<servlet-mapping>
     <servlet-name>CookiesServlet</servlet-name>
     <url-pattern>/cookies.jsp</url-pattern>
 </servlet-mapping>

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
JWebUnit-development mailing list
JWebUnit-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jwebunit-development

Reply via email to