Nao estou conseguindo DELETAR usuario logo apos conseguir cadastrar novo usuario no teste abaixo:
@Test
public void deveAdicionarUmUsuario(){
Usuario joao = new Usuario("Joao da Silva", "joao@dasilva.com");
XmlPath path = given()
.header("Accept", "application/xml")
.contentType("application/xml")
.body(joao) // por ele saber qual o contentType, ele serializa 'joao' em XML e/ou JSON
.expect()
.statusCode(200) // status code esperado (200 OK)
.when()
.post("/usuarios")
.andReturn()
.xmlPath();
Usuario resposta = path.getObject("usuario", Usuario.class);
System.out.println(resposta.getId());
assertEquals("Joao da Silva", resposta.getNome());
assertEquals("joao@dasilva.com", resposta.getEmail());
String resultadoDelete = given()
.header("Accept", "application/xml")
.contentType("application/xml")
.param("usuario.id", resposta)
.body(resposta)
.expect()
.statusCode(200)
.when()
.delete("/usuarios/deleta")
.andReturn()
.asString();
System.out.println("resultadoDelete: " + resultadoDelete);
assertEquals(200, resultadoDelete);
}
Percebi que quando cadastro novo Usuario na URL '/usuarios' o ID gerardo para esse novo usuario e um numero muito grande, eis o resultado da minha consultar (http://localhost:8080/usuarios?_format=xml):
<list>
<usuario>
<id>1</id>
<nome>Mauricio Aniche</nome>
<email>mauricio.aniche@caelum.com.br</email>
</usuario>
<usuario>
<id>2</id>
<nome>Guilherme Silveira</nome>
<email>guilherme.silveira@caelum.com.br</email>
</usuario>
<usuario>
<id>7999972134793959925</id>
<nome>Joao da Silva</nome>
<email>joao@dasilva.com</email>
</usuario>
<usuario>
<id>288455191298234802</id>
<nome>Joao da Silva</nome>
<email>joao@dasilva.com</email>
</usuario>
<usuario>
<id>4487694038266806244</id>
<nome>Joao da Silva</nome>
<email>joao@dasilva.com</email>
</usuario>
<usuario>
<id>8151050900880893222</id>
<nome>Joao da Silva</nome>
<email>joao@dasilva.com</email>
</usuario>
<usuario>
<id>2736652655720427300</id>
<nome>Joao da Silva</nome>
<email>joao@dasilva.com</email>
</usuario>
</list>
Nem consigo pesquisar usuario pelo ID dele com esse numero, ao pesquisar os usuarios cadastrados com numeros 1 e 2, funciona:
http://localhost:8080/usuarios/show?usuario.id=1&_format=xml
Retorna:
<usuario>
<id>1</id>
<nome>Mauricio Aniche</nome>
<email>mauricio.aniche@caelum.com.br</email>
</usuario>
Mas o tentar pesquisar o usuario com esse ID grande, exemplo com o ID : 8151050900880893222 (http://localhost:8080/usuarios/show?usuario.id=288455191298234802&_format=xml), o resultado e:
HTTP ERROR: 404
NOT_FOUND
RequestURI=/usuarios/show
Powered by Jetty://
Nao estou sabendo trabalhar com o metodo delete.
Atenciosamente,
Renato Ramos