GithubHelp home page GithubHelp logo

mock-api's Introduction

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á elemental-source/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 \
       elemental-source/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

  • Corrigir Code Style
  • Inserir exemplo do "arquivo de propriedades" no README
  • Separar testes unitários dos testes integrados
  • Corrigir os testes ignorados
  • 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')

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.