diff options
author | Jan Bartel | 2012-11-29 06:18:51 +0000 |
---|---|---|
committer | Jan Bartel | 2012-11-29 06:18:51 +0000 |
commit | 2d97e5b0ca0d3008667c30224e14dd52bf2f95ce (patch) | |
tree | 739949212c9cb7ac8c8ca01de0f336a7aa0e53e8 /jetty-servlets | |
parent | e999c45badacd166f90dd501f6bb5f39b1db8ecc (diff) | |
parent | 2723c415bf3668496a63576edb2886cb236f5474 (diff) | |
download | org.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.java | 163 |
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 |