Projeto de testes automatizados para a API de usuários (CRUD), utilizando Java, JUnit 5 e RestAssured, com base na API pública do ServeRest.
Endpoints cobertos:
GET /usuariosPOST /usuariosGET /usuarios/{id}PUT /usuarios/{id}DELETE /usuarios/{id}
API alvo:
https://serverest.dev
- Java 21
- Maven
- JUnit 5
- RestAssured
- Hamcrest
- Datafaker
- Java 21
- Maven 3.9+
- Acesso à internet para a API
serverest.dev
mvn clean testmvn clean verifyRelatório HTML:
target/site/surefire-report.html
As massas de dados estão localizadas em data/users.json.
O arquivo possui 3 massas principais:
consultaalteracaoremover
Cada massa possui os campos:
nomeemailpasswordadministrador_id(atualizado automaticamente)
Antes de executar os testes, o projeto realiza um seed automático que:
- Lê
data/users.json - Cria usuários via
POST /usuarios - Atualiza os
_idretornados no próprio arquivo
Isso garante que os testes utilizem usuários existentes e válidos.
- Listar todos os usuários
- Filtrar por:
_idnomeemailpasswordadministrador
- Validações de schema e quantidade
- Buscar usuário existente
- Usuário inexistente
- ID com tamanho inválido
- Cadastro de usuário administrador
- Cadastro de usuário não administrador
- Validações de obrigatoriedade:
nomeemailpasswordadministrador
- E-mail já existente
- Body vazio
- Alterar apenas e-mail
- Alterar apenas senha
- Alterar apenas nome
- Alterar apenas administrador
- Alterar todos os campos
- ID inexistente
- Body vazio
- Remover usuário existente
- Remover usuário inexistente
- Tentativa de remover usuário com carrinho
O GitHub Actions gera e publica:
- Logs do Surefire em
target/surefire-reports - Relatório HTML em
target/site/surefire-report.html
- A API possui rate limit (100 req/min). Evite alto paralelismo.
- O projeto utiliza JWT via
/logineAuthorization: Bearer <token>.
O pipeline executa:
mvn clean verifyArtefatos:
target/surefire-reportstarget/site