use of net.morimekta.test.providence.jax.rs.calculator.CalculateException in project providence by morimekta.
the class DropWizardIT method testProvidenceJson_exception.
@Test
public void testProvidenceJson_exception() throws IOException {
Client client = new JerseyClientBuilder(drop_wizard.getEnvironment()).build("test-json-exception");
Response response = client.target(uri("calculator/calculate")).register(DefaultProvidenceMessageBodyWriter.class).register(DefaultProvidenceMessageBodyReader.class).request().accept(JsonSerializer.MEDIA_TYPE).post(Entity.entity(new Operation(Operator.MULTIPLY, list(withNumber(52d), withImaginary(new Imaginary(1d, -1d)), withNumber(15d))), // same problem as with accept.
JsonSerializer.MEDIA_TYPE));
assertThat(response.getStatus(), is(equalTo(400)));
assertThat(response.getHeaders().getFirst("Content-Type"), is(equalTo(JsonSerializer.MEDIA_TYPE)));
CalculateException ex = response.readEntity(CalculateException.class);
assertEquals("{\n" + " message = \"Unsupported operation: MULTIPLY\"\n" + " operation = {\n" + " operator = MULTIPLY\n" + " operands = [\n" + " {\n" + " number = 52\n" + " },\n" + " {\n" + " imaginary = {\n" + " v = 1\n" + " i = -1\n" + " }\n" + " },\n" + " {\n" + " number = 15\n" + " }\n" + " ]\n" + " }\n" + "}", debugString(ex));
}
Aggregations