Skip to content

Latest commit

 

History

History
60 lines (44 loc) · 2.5 KB

README.md

File metadata and controls

60 lines (44 loc) · 2.5 KB

Build Status codecov.io Codacy Badge

Coverage History

codecov.io

Mock API

App criado para fazer mock com REST utilizando JSON

Regras

Quando uma request é feita é seguido o seguinte fluxo:

  • Existe na pasta do mock (conforme a propriedade api.fileBase)? Caso sim, retorna o mock
  • A uri se encaixa em algum pattern da lista de api.uriConfigurations[].pattern? Caso sim, vai redirecionar conforme a configuração e fazer fazer cache conforme o field backup
  • Se não entrar nos fluxos anteriores, vai redirecionar para o host padrão api.host

Requisitos

  • Java JDK 8
  • Gradle 4

Run

Usando seu arquivo de propriedades

Crie seu arquivo de propriedade src/main/resources/application-custom.yml e rode com o argumento -Dspring.profiles.active=custom. Exemplo:

gradle bootRun -Dspring.profiles.active=custom

Usando imagem Docker

Para gerar a imagem Docker do projeto, execute:

gradle buildDocker

Por padrão, o nome da imagem será concretesolutions/mock-api:VERSAO.

Para rodar a aplicação, crie dois diretórios: um contendo o arquivo de configuração application-custom.yml e o outro contendo os arquivos de mock. Execute então:

docker run -d --name mock-api \
       -p 9090:9090 \
       -v /path/para/arquivo/application-custom.yml:/config/application.yml \
       -v /path/para/diretorio/dados/:/data \
       concretesolutions/mock-api:VERSAO

A porta 9090 expõe o serviço enquanto a porta 5000 é utilizada para debug da aplicação.

Para visualizar os logs da aplicação a partir do container: docker logs -f mock-api

TODO

  • Separar testes unitários dos testes integrados
  • Corrigir os testes ignorados
  • Corrigir Code Style
  • Adicionar plugin do FindBugs
  • Revisar dependências (ver, por exemplo, se é mesmo necessário ter o GSON ou modelmapper)
  • Usar objectmapper como component: compile('com.fasterxml.jackson.datatype:jackson-datatype-jdk8')