Ir para o conteúdo principal

Estudo de como utilizar o Wiremock

Data de elaboração 11/05/23
Responsável pelo estudo
  1. Renato Nascimento de Lima

  2. João Cícero Romão Gomes de Oliveira

  3. Henrique dos Santos Oliveira
  4. Vinicius da Rosa Pereira
  5. Calebe de Araújo Stodulski
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: “Uso da tecnologia WireMock para testar integrações com API" presente na Sprint número 126 do time Guardiões

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) 

image.png

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

image.png

jsonBody: aqui configuramos o JSON que vai ser retornado quando for feito o GET pra rota previamente configurada 

image.png

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.