This is the project for a reference implementation of Pact in Rust. It implements the V2 Pact specification.
For a version of this project that implements the V1 Pact specification, have a look at the V1 Branch. For V1.1 Pact specification, have a look at the V1.1 Branch
There are 5 main modules to this implementation:
This is a library that provides the Pact models and functions for matching requests and responses, as well as reading and writing pact files.
This is a library that provides an in-process mock server for Pact client tests. It uses the pact_matching library.
This module provides a command line executable that provides a standalone pact mock server and commands for controlling the mock servers. It uses the libpact_mock_server and libpact_matching libraries.
This is a library that provides the Pact consumer test support and DSL.
This library provides support for verifying a provider against pact files.
Command line excutable that uses the pact_verifier to be able to verify a running provider against pact files.