Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como deletar o objeto recém criado ao final do teste?

Tentei, no final do método de criação de um novo usuário, remover o usuário recém criado chamando o método "DELETE", observando o código fonte do serviço

            // Remove o usuário recém criado: (mas não surtiu efeito...)

            RestAssured.given()
                    .header("Accept", "application/xml")
                    .contentType("application/xml")
                    .body(usuarioCriado)
                .expect()
                    .statusCode(200)
                .when()
                    .delete("/usuarios/deleta");

No entanto, apesar de o teste não sinalizar uma exceção,um novo usuário é acrescentado à lista a cada execução do teste. Nao consegui encontrar motivo para esse comportamento, pois o ID do usuário recém criado e que tentei deletar é o mesmo que aparece no final da lista (obtida pela conulta http://localhost:8080/usuarios?_format=json).

(classe UsuarioRepositoryImpl)

    private void delete(Usuario entity) {
        Iterator<Usuario> it = usuarios.iterator();
        while(it.hasNext()) {
            Usuario current = it.next();
            System.out.println("current " + current);
            System.out.println("entity " + entity);
            if(current.getId() == entity.getId()) {
                it.remove();
                break;
            }
        }
    }
1 resposta
solução!

Prezados,

Encontrei dois bugs no código do projeto de referência, na classe UsuarioRepositoryImpl, que estavam impossibilitando a busca dos novos objetos e sua remoção.

Anotei a solução como resposta à pergunta:

https://cursos.alura.com.br/forum/topico-erro-ao-tentar-deletar-usuario-37960

Esses mesmos problemas devem estar ocorrendo em relação ao serviço de leilões, que possui código com erros similares (classe LeilaoRepositoryImpl).