Search in sources :

Example 21 with PostMethodWebRequest

use of com.meterware.httpunit.PostMethodWebRequest in project camel by apache.

the class RestServletBindingModeJsonWithContractTest method testBindingModeJsonWithContract.

@Test
public void testBindingModeJsonWithContract() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:input");
    mock.expectedMessageCount(1);
    mock.message(0).body().isInstanceOf(UserPojoEx.class);
    String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
    WebRequest req = new PostMethodWebRequest(CONTEXT_URL + "/services/users/new", new ByteArrayInputStream(body.getBytes()), "application/json");
    ServletUnitClient client = newClient();
    client.setExceptionsThrownOnErrorStatus(false);
    WebResponse response = client.getResponse(req);
    assertEquals(200, response.getResponseCode());
    String answer = response.getText();
    assertTrue("Unexpected response: " + answer, answer.contains("\"active\":true"));
    assertMockEndpointsSatisfied();
    Object obj = mock.getReceivedExchanges().get(0).getIn().getBody();
    assertEquals(UserPojoEx.class, obj.getClass());
    UserPojoEx user = (UserPojoEx) obj;
    assertNotNull(user);
    assertEquals(123, user.getId());
    assertEquals("Donald Duck", user.getName());
    assertEquals(true, user.isActive());
}
Also used : WebResponse(com.meterware.httpunit.WebResponse) WebRequest(com.meterware.httpunit.WebRequest) PostMethodWebRequest(com.meterware.httpunit.PostMethodWebRequest) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) ByteArrayInputStream(java.io.ByteArrayInputStream) PostMethodWebRequest(com.meterware.httpunit.PostMethodWebRequest) ServletUnitClient(com.meterware.servletunit.ServletUnitClient) Test(org.junit.Test)

Example 22 with PostMethodWebRequest

use of com.meterware.httpunit.PostMethodWebRequest in project camel by apache.

the class RestServletBindingModeXmlTest method testBindingModeWrong.

@Test
public void testBindingModeWrong() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:input");
    mock.expectedMessageCount(0);
    // we bind to xml, but send in json, which is not possible
    String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
    WebRequest req = new PostMethodWebRequest(CONTEXT_URL + "/services/users/new", new ByteArrayInputStream(body.getBytes()), "application/json");
    ServletUnitClient client = newClient();
    client.setExceptionsThrownOnErrorStatus(false);
    WebResponse response = client.getResponse(req);
    assertEquals(500, response.getResponseCode());
    assertMockEndpointsSatisfied();
}
Also used : WebResponse(com.meterware.httpunit.WebResponse) WebRequest(com.meterware.httpunit.WebRequest) PostMethodWebRequest(com.meterware.httpunit.PostMethodWebRequest) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) ByteArrayInputStream(java.io.ByteArrayInputStream) PostMethodWebRequest(com.meterware.httpunit.PostMethodWebRequest) ServletUnitClient(com.meterware.servletunit.ServletUnitClient) Test(org.junit.Test)

Example 23 with PostMethodWebRequest

use of com.meterware.httpunit.PostMethodWebRequest in project camel by apache.

the class RestServletBindingModeXmlTest method testBindingMode.

@Test
public void testBindingMode() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:input");
    mock.expectedMessageCount(1);
    mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
    String body = "<user name=\"Donald Duck\" id=\"123\"></user>";
    WebRequest req = new PostMethodWebRequest(CONTEXT_URL + "/services/users/new", new ByteArrayInputStream(body.getBytes()), "application/xml");
    ServletUnitClient client = newClient();
    client.setExceptionsThrownOnErrorStatus(false);
    WebResponse response = client.getResponse(req);
    assertEquals(200, response.getResponseCode());
    assertMockEndpointsSatisfied();
    UserJaxbPojo user = mock.getReceivedExchanges().get(0).getIn().getBody(UserJaxbPojo.class);
    assertNotNull(user);
    assertEquals(123, user.getId());
    assertEquals("Donald Duck", user.getName());
}
Also used : WebResponse(com.meterware.httpunit.WebResponse) WebRequest(com.meterware.httpunit.WebRequest) PostMethodWebRequest(com.meterware.httpunit.PostMethodWebRequest) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) ByteArrayInputStream(java.io.ByteArrayInputStream) PostMethodWebRequest(com.meterware.httpunit.PostMethodWebRequest) ServletUnitClient(com.meterware.servletunit.ServletUnitClient) Test(org.junit.Test)

Aggregations

PostMethodWebRequest (com.meterware.httpunit.PostMethodWebRequest)23 WebResponse (com.meterware.httpunit.WebResponse)22 ServletUnitClient (com.meterware.servletunit.ServletUnitClient)22 Test (org.junit.Test)22 WebRequest (com.meterware.httpunit.WebRequest)21 ByteArrayInputStream (java.io.ByteArrayInputStream)21 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)14 GetMethodWebRequest (com.meterware.httpunit.GetMethodWebRequest)7 HttpException (com.meterware.httpunit.HttpException)3 HeaderOnlyWebRequest (com.meterware.httpunit.HeaderOnlyWebRequest)1 HttpNotFoundException (com.meterware.httpunit.HttpNotFoundException)1 PutMethodWebRequest (com.meterware.httpunit.PutMethodWebRequest)1 WebConversation (com.meterware.httpunit.WebConversation)1 List (java.util.List)1 FailedToCreateProducerException (org.apache.camel.FailedToCreateProducerException)1 FailedToCreateRouteException (org.apache.camel.FailedToCreateRouteException)1