Skip to main content

Example Node Kafka Consumer

Source Code

https://github.com/pactflow/example-consumer-js-kafka

Build

Can I deploy Status

Pact Status (latest pact)

Pact Status (master/master pact)

This is an example of a Node kafka consumer that uses Pact, PactFlow and GitHub Actions to ensure that it is compatible with the expectations its consumers have of it.

The project uses a Makefile to simulate a very simple build pipeline with two stages - test and deploy.

See the canonical consumer example here: https://github.com/pactflow/example-consumer See also the full PactFlow CI/CD Workshop for which this can be substituted in as the "consumer".

In the following diagram, we'll be testing the "Product API", a simple HTTP service that exposes product information as a REST API, which is fed events from an Event API on the product topic.

Kafka Architecture

Pre-requisites

Software:

https://docs.pactflow.io/docs/workshops/ci-cd/set-up-ci/prerequisites/

Usage

  • Running the API locally: make start
  • Producing test events into the product topic: make test-events
  • Retrieve latest products: curl localhost:8080/products