@Test
public void testPostAsyncComplete() {

    Task task = new Task();
    Input input = new Input();
    input.setUri("http://localhost:7009/post");
    Map<String, Object> body = new HashMap<>();
    body.put("input_key1", "value1");
    body.put("input_key2", 45.3d);
    input.setBody(body);
    input.setMethod("POST");
    task.getInputData().put(HttpTask.REQUEST_PARAMETER_NAME, input);
    task.getInputData().put("asyncComplete", true);
    httpTask.start(workflow, task, workflowExecutor);
    assertEquals(task.getReasonForIncompletion(), Status.IN_PROGRESS, task.getStatus());
    Map<String, Object> hr = (Map<String, Object>) task.getOutputData().get("response");
    Object response = hr.get("body");
    assertEquals(Status.IN_PROGRESS, task.getStatus());
    assertTrue("response is: " + response, response instanceof Map);
    Map<String, Object> map = (Map<String, Object>) response;
    Set<String> inputKeys = body.keySet();
    Set<String> responseKeys = map.keySet();
    inputKeys.containsAll(responseKeys);
    responseKeys.containsAll(inputKeys);
}