@Test public void testEmptyValues() throws IOException { handler = new MultipartHandler((request, response) -> { Assert.assertEquals(null, request.data()); Assert.assertEquals(true, request.isMultipart()); MultiPartEntry entry = request.entry("data"); String value = entry.asString(); Assert.assertEquals("", value); Assert.assertEquals("", entry.fileName()); MultiPartEntry empty = request.entry("empty"); Assert.assertEquals(0, empty.asBytes().length); Assert.assertEquals("", empty.fileName()); Assert.assertEquals("", request.param("foo")); return response.setBody("ok"); }); Assert.assertEquals("ok", makeRequest("/") .param("foo", "") .addByteArray("data", "".getBytes(), "") .addByteArray("empty", new byte[0], "") .param("foofoo", "") .post().asString()); }
@Test public void test_multipart_1() throws IOException { handler = new MultipartHandler((request, response) -> { String foo = request.entry("foo").asString(); String bar = request.entry("bar").asString(); String fileMD5 = MD5.create().update(request.entry("file").asBytes()).asString(); return response.setBody(foo + "-" + bar + "-" + fileMD5); }); byte[] data = new byte[2 * 1024 * 1024]; new Random().nextBytes(data); for (int i = 0; i < 10; i++) { com.wizzardo.tools.http.Response response = makeRequest("/") .param("foo", "foo") .param("bar", "bar") .addByteArray("file", data, "file") .execute(); Assert.assertEquals(200, response.getResponseCode()); Assert.assertEquals("foo-bar-" + MD5.create().update(data).asString(), response.asString()); } }
.addByteArray("data", data, "just some data") .post().asString()); .addByteArray("data", "some data".getBytes(), "just some data") .addByteArray("empty", new byte[0], "") .param("foofoo", "barbar") .post().asString());
.addByteArray("data", "some data".getBytes(), "just some data") .post().asString()); .addByteArray("data", "some data".getBytes(), "just some data") .addByteArray("empty", new byte[0], "") .param("foofoo", "barbar") .post().asString());
Assert.assertEquals("ONE", makeRequest("/enum_def").get().asString()); Assert.assertEquals("[1, 2, 3]", makeRequest("/bytes").addByteArray("v", new byte[]{1, 2, 3}, "v").post().asString()); Assert.assertEquals("[1, 2, 3]", makeRequest("/file").addByteArray("v", "[1, 2, 3]".getBytes(), "v").post().asString()); Assert.assertEquals("[1, 2, 3]", makeRequest("/bytes_opt").addByteArray("v", new byte[]{1, 2, 3}, "v").post().asString()); Assert.assertEquals("[1, 2, 3]", makeRequest("/file_opt").addByteArray("v", "[1, 2, 3]".getBytes(), "v").post().asString()); Assert.assertEquals("default", makeRequest("/bytes_opt").addByteArray("vv", new byte[]{1, 2, 3}, "vv").post().asString()); Assert.assertEquals("default", makeRequest("/file_opt").addByteArray("vv", "[1, 2, 3]".getBytes(), "vv").post().asString()); Assert.assertEquals("i=1", makeRequest("/pojo").json(JsonTools.serialize(With.with(new TestParametersPojo(), it -> it.i = 1))).post().asString()); Assert.assertEquals("[1, 2, 3]", makeRequest("/double_multipart").addByteArray("v", new byte[]{1, 2, 3}, "v").post().asString());
Assert.assertEquals("a", makeRequest("/char").param("v", 'a').post().asString()); Assert.assertEquals("1", makeRequest("/int").param("v", 1).addByteArray("data", new byte[0], "data").post().asString()); Assert.assertEquals("1", makeRequest("/long").param("v", 1).addByteArray("data", new byte[0], "data").post().asString()); Assert.assertEquals("1", makeRequest("/short").param("v", 1).addByteArray("data", new byte[0], "data").post().asString()); Assert.assertEquals("1", makeRequest("/byte").param("v", 1).addByteArray("data", new byte[0], "data").post().asString()); Assert.assertEquals("1.0", makeRequest("/float").param("v", 1).addByteArray("data", new byte[0], "data").post().asString()); Assert.assertEquals("1.0", makeRequest("/double").param("v", 1).addByteArray("data", new byte[0], "data").post().asString()); Assert.assertEquals("true", makeRequest("/boolean").param("v", true).addByteArray("data", new byte[0], "data").post().asString()); Assert.assertEquals("a", makeRequest("/char").param("v", 'a').addByteArray("data", new byte[0], "data").post().asString());