@Test public void testNegativeContentLength() { HttpRequest request = HttpRequest.get("http://jodd.org/?id=173"); request.contentLength(-123); byte[] bytes = request.toByteArray(); try { HttpRequest request2 = HttpRequest.readFrom(new ByteArrayInputStream(bytes)); assertEquals("", request2.body()); } catch (Exception ex) { Assert.fail(ex.toString()); } // the same test but with missing content length request = HttpRequest.get("http://jodd.org/?id=173"); bytes = request.toByteArray(); try { HttpRequest request2 = HttpRequest.readFrom(new ByteArrayInputStream(bytes)); assertEquals("", request2.body()); } catch (Exception ex) { Assert.fail(ex.toString()); } }
@Test public void testFileUpload() throws IOException { HttpRequest request = HttpRequest.get("http://jodd.org/?id=173"); request.header("User-Agent", "Scaly").form("one", "funny"); File tempFile = FileUtil.createTempFile(); tempFile.deleteOnExit(); FileUtil.writeString(tempFile, "qwerty"); request.form("two", tempFile); byte[] bytes = request.toByteArray(); // read HttpRequest request2 = HttpRequest.readFrom(new ByteArrayInputStream(bytes)); Map<String, Object[]> httpParams2 = request2.form(); assertEquals(request.method(), request2.method()); assertEquals(request.path(), request2.path()); assertEquals(request.queryString(), request2.queryString()); assertEquals(request.header("User-Agent"), request2.header("User-Agent")); assertEquals(request.header("Content-Type"), request2.header("content-type")); assertEquals(request.header("Content-Length"), request2.header("content-length")); Map params1 = request.form(); Map params2 = request2.form(); assertEquals(params1.size(), params2.size()); assertEquals(params2.get("one"), params2.get("one")); FileUpload fu = (FileUpload) httpParams2.get("two")[0]; assertEquals(6, fu.getSize()); String str = new String(fu.getFileContent()); assertEquals("qwerty", str); tempFile.delete(); }
@Test public void testInOutForm() { HttpRequest request = HttpRequest.get("http://jodd.org/?id=173"); request.header("User-Agent", "Scaly"); request.form("one", "funny"); byte[] bytes = request.toByteArray(); // read HttpRequest request2 = HttpRequest.readFrom(new ByteArrayInputStream(bytes)); assertEquals(request.method(), request2.method()); assertEquals(request.path(), request2.path()); assertEquals(request.queryString(), request2.queryString()); assertEquals(request.header("User-Agent"), request2.header("User-Agent")); assertEquals(request.header("Content-Type"), request2.header("content-type")); assertEquals(request.header("Content-Length"), request2.header("content-length")); Map params1 = request.form(); Map params2 = request2.form(); assertEquals(params1.size(), params2.size()); assertEquals(params2.get("one"), params2.get("one")); }