Skip to content
This repository has been archived by the owner on Oct 14, 2024. It is now read-only.

Latest commit

 

History

History

messaging-kafka

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Exemplo em Java com Kafka

Exemplo da criação de um Pact entre:

  • 1 consumidor (Consumer)
  • 1 provedor (Provider)

Ferramentas

  • OpenJdk 13
  • Spring Boot
  • Swagger
  • Spring Kafka
  • Pact JVM
  • Pact Broker
  • Maven

Índice

Como executar

  1. Garanta que você tenha uma instância do Pact Broker rodando localmente. Vide sessão configuração do Pact Broker caso tenha dúvida.

  2. Abra os projetos contido neste diretório (pact-messsage-consumer e pact-message-provider) em sua IDE de preferência e instale suas dependências.

  3. Com o Broker funcionando, podemos iniciar os testes. Para gerar o contrato, basta rodar os testes Junit do projeto pact-messsage-consumer.
    Obtendo sucesso, o plugin maven do Pact irá gerar um arquivo json contendo o contrato entre as APIs.

Pact Runner Tests

Pact Contract Generated

  1. Com o contrato gerado, podemos publicá-lo no Pact Broker. Para isto, podemos utilizar o plugin maven do Pact.
    É necessário confirmar que o plugin está configurado corretamente.

Pact Maven Plugin

Após confirmar o status do plugin, abra outro terminal no diretório pact-messsage-consumer e execute o seguinte comando:

mvn pact:publish

Em seguida, você poderá ver o contrato publicado no Pact Broker (http://localhost:9292).

  1. Com o contrato publicado no Broker, agora validaremos se a API provedora (provider) está aderente ao contrato.

No projeto pact-message-provider, rode os testes Junit e verifique se eles são concluídos com sucesso.
Este teste irá verificar no Broker os contratos disponiveis para validação, baixá-los e testá-los de acordo com a API provedora.

Ao final, podemos conferir o resultado do teste que é publicado no Broker.