Estudo de como utilizar o Wiremock
Data de elaboração | 11/05/23 |
---|---|
Responsável pelo estudo |
|
Equipe do estudo | Guardiões da Galáxia |
Alvo | Todos os sistemas sob a responsabilidade do time Guardiões da Galáxia |
Origem |
Implementação: Estudo que levanta o que é necessário para configurar e utilizar a ferramenta Wiremock, conforme a User Story: “ |
Objetivo | Configurar a ferramenta Wiremock |
Observações | Sem observações |
1. Introdução
Durante o desenvolvimento de uma nova funcionalidade, se viu necessário o consumo de uma API que não possuía disponibilidade a todo tempo, e para não interromper o desenvolvimento da funcionalidade foi decidido pelos membros do time o uso de uma ferramenta que permite "emular" o retorno de uma API, fazendo com que fosse possível testar a funcionalidade e continuar o desenvolvimento mesmo quando a API que seria consumida pela funcionalidade não estivesse disponível.
2. Desenvolvimento
2.1 Instalação da ferramenta
Para utilizar a ferramenta você possui diversas opções, a escolhida pelo time foi utilizar Docker, o procedimento para instalação e execução da imagem foi feito de acordo com a documentação disponibilizada pelo próprio Wiremock que se encontra no link:Configuring and running WireMock in Docker | WireMock.
2.2 Configuração da Ferramenta
Após ter seu container do Wiremock criado, você vai ter uma pasta chamada mappings aonde você vai criar um arquivo do tipo JSON, nesse arquivo vai ser configurado as propriedades principais do ENDPOINT de acordo com sua necessidade, no nosso caso configuramos as seguintes propriedades:
request: criamos a rota e definimos o metódo (GET, POST, PUT ou DELETE)
response: configuramos se queremos que o response retorne com um OK, ou qualquer outro tipo de retorno desejável como você imaginou, isso da amplas possibilidades do que pode ser feito com a ferramenta
jsonBody: aqui configuramos o JSON que vai ser retornado quando for feito o GET pra rota previamente configurada
2.3 Execução
Após configurar todas as propriedades desejadas, você executa o seu container e pronto, você tem uma API "fake" que permite com que você teste da maneira desejada a sua funcionalidade, podendo inclusive configurar mappings para retornos indesejáveis e já criar as tratativas necessárias para eventuais indisponibilidades que possam ocorrer.
3. Conclusão
Com a utilização da ferramenta se viu possível o desenvolvimento da funcionalidade mesmo com a indisponibilidade da API alvo no ambiente de desenvolvimento e também se vê uma ampla gama de possibilidades para o uso da ferramenta em outros cenários, a ferramenta se mostrou extramamente útil para a equipe de desenvolvimento e atendeu a necessidade existente.