Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Bartel2012-11-29 06:18:51 +0000
committerJan Bartel2012-11-29 06:18:51 +0000
commit2d97e5b0ca0d3008667c30224e14dd52bf2f95ce (patch)
tree739949212c9cb7ac8c8ca01de0f336a7aa0e53e8 /jetty-servlets
parente999c45badacd166f90dd501f6bb5f39b1db8ecc (diff)
parent2723c415bf3668496a63576edb2886cb236f5474 (diff)
downloadorg.eclipse.jetty.project-2d97e5b0ca0d3008667c30224e14dd52bf2f95ce.tar.gz
org.eclipse.jetty.project-2d97e5b0ca0d3008667c30224e14dd52bf2f95ce.tar.xz
org.eclipse.jetty.project-2d97e5b0ca0d3008667c30224e14dd52bf2f95ce.zip
Merge remote-tracking branch 'origin/jetty-7' into jetty-8
Diffstat (limited to 'jetty-servlets')
-rw-r--r--jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java163
1 files changed, 160 insertions, 3 deletions
diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java
index 9af2d126af..2628aa8ec5 100644
--- a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java
+++ b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java
@@ -59,11 +59,11 @@ public class MultipartFilterTest
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
assertNotNull(req.getParameter("fileName"));
- assertEquals("abc", req.getParameter("fileName"));
+ assertEquals(getServletContext().getAttribute("fileName"), req.getParameter("fileName"));
assertNotNull(req.getParameter("desc"));
- assertEquals("123", req.getParameter("desc"));
+ assertEquals(getServletContext().getAttribute("desc"), req.getParameter("desc"));
assertNotNull(req.getParameter("title"));
- assertEquals("ttt", req.getParameter("title"));
+ assertEquals(getServletContext().getAttribute("title"), req.getParameter("title"));
super.doPost(req, resp);
}
}
@@ -283,6 +283,9 @@ public class MultipartFilterTest
HttpTester request = new HttpTester();
HttpTester response = new HttpTester();
tester.addServlet(BoundaryServlet.class,"/testb");
+ tester.setAttribute("fileName", "abc");
+ tester.setAttribute("desc", "123");
+ tester.setAttribute("title", "ttt");
request.setMethod("POST");
request.setVersion("HTTP/1.0");
request.setHeader("Host","tester");
@@ -321,6 +324,160 @@ public class MultipartFilterTest
assertTrue(response.getMethod()==null);
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
}
+
+
+ @Test
+ public void testLFOnlyRequest() throws Exception
+ {
+ String boundary="XyXyXy";
+ // generated and parsed test
+ HttpTester request = new HttpTester();
+ HttpTester response = new HttpTester();
+ tester.addServlet(BoundaryServlet.class,"/testb");
+ tester.setAttribute("fileName", "abc");
+ tester.setAttribute("desc", "123");
+ tester.setAttribute("title", "ttt");
+ request.setMethod("POST");
+ request.setVersion("HTTP/1.0");
+ request.setHeader("Host","tester");
+ request.setURI("/context/testb");
+ request.setHeader("Content-Type","multipart/form-data; boundary="+boundary);
+
+ String content = "--XyXyXy\n"+
+ "Content-Disposition: form-data; name=\"fileName\"\n"+
+ "Content-Type: text/plain; charset=US-ASCII\n"+
+ "Content-Transfer-Encoding: 8bit\n"+
+ "\n"+
+ "abc\n"+
+ "--XyXyXy\n"+
+ "Content-Disposition: form-data; name=\"desc\"\n"+
+ "Content-Type: text/plain; charset=US-ASCII\n"+
+ "Content-Transfer-Encoding: 8bit\n"+
+ "\n"+
+ "123\n"+
+ "--XyXyXy\n"+
+ "Content-Disposition: form-data; name=\"title\"\n"+
+ "Content-Type: text/plain; charset=US-ASCII\n"+
+ "Content-Transfer-Encoding: 8bit\n"+
+ "\n"+
+ "ttt\n"+
+ "--XyXyXy\n"+
+ "Content-Disposition: form-data; name=\"fileup\"; filename=\"test.upload\"\n"+
+ "Content-Type: application/octet-stream\n"+
+ "Content-Transfer-Encoding: binary\n"+
+ "\n"+
+ "000\n"+
+ "--XyXyXy--\n";
+ request.setContent(content);
+
+ response.parse(tester.getResponses(request.generate()));
+ assertTrue(response.getMethod()==null);
+ assertEquals(HttpServletResponse.SC_OK,response.getStatus());
+ }
+
+
+ @Test
+ public void testCROnlyRequest() throws Exception
+ {
+ String boundary="XyXyXy";
+ // generated and parsed test
+ HttpTester request = new HttpTester();
+ HttpTester response = new HttpTester();
+ tester.addServlet(BoundaryServlet.class,"/testb");
+ tester.setAttribute("fileName", "abc");
+ tester.setAttribute("desc", "123");
+ tester.setAttribute("title", "ttt");
+ request.setMethod("POST");
+ request.setVersion("HTTP/1.0");
+ request.setHeader("Host","tester");
+ request.setURI("/context/testb");
+ request.setHeader("Content-Type","multipart/form-data; boundary="+boundary);
+
+ String content = "--XyXyXy\r"+
+ "Content-Disposition: form-data; name=\"fileName\"\r"+
+ "Content-Type: text/plain; charset=US-ASCII\r"+
+ "Content-Transfer-Encoding: 8bit\r"+
+ "\r"+
+ "abc\r"+
+ "--XyXyXy\r"+
+ "Content-Disposition: form-data; name=\"desc\"\r"+
+ "Content-Type: text/plain; charset=US-ASCII\r"+
+ "Content-Transfer-Encoding: 8bit\r"+
+ "\r"+
+ "123\r"+
+ "--XyXyXy\r"+
+ "Content-Disposition: form-data; name=\"title\"\r"+
+ "Content-Type: text/plain; charset=US-ASCII\r"+
+ "Content-Transfer-Encoding: 8bit\r"+
+ "\r"+
+ "ttt\r"+
+ "--XyXyXy\r"+
+ "Content-Disposition: form-data; name=\"fileup\"; filename=\"test.upload\"\r"+
+ "Content-Type: application/octet-stream\r"+
+ "Content-Transfer-Encoding: binary\r"+
+ "\r"+
+ "000\r"+
+ "--XyXyXy--\r";
+ request.setContent(content);
+
+ response.parse(tester.getResponses(request.generate()));
+ assertTrue(response.getMethod()==null);
+ assertEquals(HttpServletResponse.SC_OK,response.getStatus());
+ }
+
+
+ @Test
+ public void testCROnlyWithEmbeddedLFRequest() throws Exception
+ {
+ String boundary="XyXyXy";
+ // generated and parsed test
+ HttpTester request = new HttpTester();
+ HttpTester response = new HttpTester();
+ tester.addServlet(BoundaryServlet.class,"/testb");
+ tester.setAttribute("fileName", "\nabc\n");
+ tester.setAttribute("desc", "\n123\n");
+ tester.setAttribute("title", "\nttt\n");
+ request.setMethod("POST");
+ request.setVersion("HTTP/1.0");
+ request.setHeader("Host","tester");
+ request.setURI("/context/testb");
+ request.setHeader("Content-Type","multipart/form-data; boundary="+boundary);
+
+ String content = "--XyXyXy\r"+
+ "Content-Disposition: form-data; name=\"fileName\"\r"+
+ "Content-Type: text/plain; charset=US-ASCII\r"+
+ "Content-Transfer-Encoding: 8bit\r"+
+ "\r"+
+ "\nabc\n"+
+ "\r"+
+ "--XyXyXy\r"+
+ "Content-Disposition: form-data; name=\"desc\"\r"+
+ "Content-Type: text/plain; charset=US-ASCII\r"+
+ "Content-Transfer-Encoding: 8bit\r"+
+ "\r"+
+ "\n123\n"+
+ "\r"+
+ "--XyXyXy\r"+
+ "Content-Disposition: form-data; name=\"title\"\r"+
+ "Content-Type: text/plain; charset=US-ASCII\r"+
+ "Content-Transfer-Encoding: 8bit\r"+
+ "\r"+
+ "\nttt\n"+
+ "\r"+
+ "--XyXyXy\r"+
+ "Content-Disposition: form-data; name=\"fileup\"; filename=\"test.upload\"\r"+
+ "Content-Type: application/octet-stream\r"+
+ "Content-Transfer-Encoding: binary\r"+
+ "\r"+
+ "000\r"+
+ "--XyXyXy--\r";
+ request.setContent(content);
+
+ response.parse(tester.getResponses(request.generate()));
+ assertTrue(response.getMethod()==null);
+ assertEquals(HttpServletResponse.SC_OK,response.getStatus());
+ }
+
/*
* see the testParameterMap test

Back to the top