Gostaria de saber como enviar uma resquicao POST com JSON Este código devolve erro 500, mas se alterar para XML ele funciona normalmente;
@Test
public void deveAdicionarUmUsuario() {
Usuario joao = new Usuario("Joao da Silva", "joao@dasilva.com");
JsonPath retorno = given()
.header("Accept", "application/json")
.contentType("application/json")
.body(joao)
.expect().statusCode(200)
.when().post("/usuarios")
.andReturn().jsonPath();
Usuario resposta = retorno.getObject("usuario", Usuario.class);
assertEquals("Joao da Silva", resposta.getNome());
assertEquals("joao@dasilva.com", resposta.getEmail());
// deletando aqui
given()
.contentType("application/xml").body(resposta)
.expect().statusCode(200)
.when().delete("/usuarios/deleta").andReturn().asString();
}
ERROS:
java.lang.AssertionError: 1 expectation failed.
Expected status code <200> doesn't match actual status code <500>.
Quando tiro o .expect().statusCode(200)
ele retorna um outro erro com a seguinte mensagem:
com.jayway.restassured.path.json.exception.JsonPathException: Failed to parse the JSON document
Caused by: groovy.json.JsonException: Lexing failed on line: 1, column: 1, while reading '<', no possible valid JSON value or punctuation could be recognized.
Sendo assim eu devo sempre passar um XML no método POST?