@Before public void setUp() throws Exception { integrationServer = new JettyIntegrationServer(); integrationServer.start(); port = integrationServer.getPort(); httpClient = new TestingHttpClientFactory().create(); httpClient.start(); }
@Test public void postOneParameter() throws Exception { String value = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKQLMNOPQRSTUVWXYZ1234567809`~!@#$%^&*()_+-=,.<>/?;:'\"[]{}\\| "; final AtomicReference<String> param1Value = new AtomicReference<>(); integrationServer.addServlet( new HttpServlet() { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { param1Value.set(req.getParameter("param1")); resp.getWriter().write(okBody); resp.getWriter().flush(); } }, "/testOk"); BlockingHttpCallback httpCallback = new BlockingHttpCallback(); httpClient .createPost("http://localhost:" + port + "/testOk") .addFormParameter("param1", value) .build() .execute(httpCallback); httpCallback.waitForCompletion(); assertEquals(okBody, httpCallback.getBody()); assertEquals(200, httpCallback.getStatusCode()); assertEquals(value, param1Value.get()); }
@Test public void postMapOfParameters() throws Exception { final Map<String, String> parameters = new HashMap<>(); parameters.put("param1", "value1"); parameters.put("param2", "value2"); parameters.put("param3", "value3"); final Map<String, String> postedValues = new HashMap<>(); integrationServer.addServlet( new HttpServlet() { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { for (String key : parameters.keySet()) { postedValues.put(key, req.getParameter(key)); } resp.getWriter().write(okBody); resp.getWriter().flush(); } }, "/testOk"); BlockingHttpCallback httpCallback = new BlockingHttpCallback(); httpClient .createPost("http://localhost:" + port + "/testOk") .addFormParameters(parameters) .build() .execute(httpCallback); httpCallback.waitForCompletion(); assertEquals(okBody, httpCallback.getBody()); assertEquals(200, httpCallback.getStatusCode()); assertEquals(parameters, postedValues); }
@After public void tearDown() throws Exception { integrationServer.shutdown(); httpClient.shutdown(); }