/pact-demo

Demo repository for pact tests

Primary LanguageJava

pact-demo

Demonstrates the latest ways to use pact with the JVM for both REST endpoints and events.

It is initially based on this repository from shavo007.

It includes a full end to end demonstration of consumer driven contract testing using pact framework.

  • Ability to run Pact Broker locally using docker containers
  • Ability to run RabbitMQ broker locally using docker containers
  • Run and publish pacts for jvm and js consumers for REST
  • Run and publish pacts for two jvm services interacting over a message bus

Pact Broker & RabbitMQ startup

docker-compose up --build

Access at http://localhost:80 (Basic auth is username:shanelee007/password:password123)

Running pact broker via Kubernetes

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.

To run pact broker via k8s check out README and resources here

Running pact broker via Elastic beanstalk

Dockerrun.aws.json file describes how to deploy pact broker container as an Elastic Beanstalk application.

Create eb env and deploy.

Resources

Useful Commands

`eb local run`  Runs commands on your local machine.
`eb local open` Open pact broker locally in browser
`eb local status`  Gets environment information and status locally
`eb use Sample-env-1`
`eb deploy `
`eb use Sample-env-1`

Pact broker postgres docker container

https://store.docker.com/community/images/shanelee007/docker-pact-postgres

Resources

Blog from shavo007: http://shavo007.github.io/2016/07/19/consumer-driven-contract-testing-using-pact/

Docker compose file: https://gist.github.com/shavo007/6660cd3230188a094b5d7d3e0647d769

pact broker