Skip to content

An example of a consumer that uses Pact+PactFlow to create a consumer driven contract with its provider

License

Notifications You must be signed in to change notification settings

pactflow/example-consumer

Folders and files

NameName
Last commit message
Last commit date
Apr 14, 2025
Feb 19, 2021
Oct 5, 2022
Apr 24, 2020
Feb 19, 2025
Oct 10, 2022
Apr 22, 2020
Jul 19, 2022
Jan 23, 2023
Jan 23, 2023
Sep 16, 2024
May 10, 2025
May 10, 2025

Repository files navigation

Example Consumer

Build

Pact Status (latest pact)

Can I deploy Status

This is an example of a Node consumer using Pact to create a consumer driven contract, and sharing it via PactFlow.

It is using a public tenant on PactFlow, which you can access here using the credentials dXfltyFMgNOFZAxr8io9wJ37iUpY42M/O5AIZWxelWbLvqMd8PkAVycBJh2Psyg1. The latest version of the Example Consumer/Example Provider pact is published here.

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

  • Test
    • Run tests (including the pact tests that generate the contract)
    • Publish pacts, associating the consumer version with the name of the current branch
    • Check if we are safe to deploy to prod (ie. has the pact content been successfully verified)
  • Deploy (only from master)
    • Deploy app (just pretend for the purposes of this example!)
    • Record the deployment in the Pact Broker

Usage

See the PactFlow CI/CD Workshop.

Running the application

Start up the provider (or another compatible provider) API by running npm run start.

Open a separate terminal for the consumer.

Before starting the consumer, create a .env file in the root of the project and set the URL to point to your running provider:

REACT_APP_API_BASE_URL=http://localhost:8080

Then run:

npm run start

Pre-requisites

Software:

Environment variables

To be able to run some of the commands locally, you will need to export the following environment variables into your shell:

Usage

Pact use case

  • make test - run the pact test locally
  • make fake_ci - run the CI process locally

About

An example of a consumer that uses Pact+PactFlow to create a consumer driven contract with its provider

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published