Crate pact_models
source ·Expand description
The pact_models
crate provides all the structs and traits required to model a Pact.
Crate features
All features are enabled by default
datetime
: Enables support of date and time expressions and generators. This will add thechronos
crate as a dependency.xml
: Enables support for parsing XML documents. This feature will add thesxd-document
crate as a dependency.
Modules
- Module for handling interaction content (bodies)
- Module for handling content types
- expression parser for generator expressions
- Functions for dealing with file locks while reading/writing pact files
generators
module includes all the classes to deal with V3/V4 spec generators- HTTP parts of a Request/Response interaction
- Module for fetching documents via HTTP
- Models for Pact interactions
- Collection of utilities for working with JSON
matchingrules
module includes all the classes to deal with V3/V4 spec matchers- The
message
module provides all functionality to deal with message interactions. - The
message_pact
module defines a Pact that contains Messages instead of Interactions. - Traits to represent a Pact
- Functions for dealing with path expressions
- Models to support plugins
- A “prelude” or a default list of import types to include.
provider_states
module contains all the logic for dealing with provider states. Seehttps://docs.pact.io/getting_started/provider_states
for more info on provider states.- Structs to model an HTTP request
- Models for synchronous request/response interactions
- Synchronous HTTP Request/Response Pact
- Utilities for dealing with time and date values. These are based on the Java DateTimeFormatter
- V4 specification models
- Module for verifying the state of the Pact JSON (file format verification)
- Collection of utilities for working with XML
Macros
- Macro to make constructing generators easy Example usage:
- Macro to ease constructing matching rules Example usage:
- Macro to ease constructing matching rules Example usage:
Structs
- Struct that defines the consumer of the pact.
- Struct that defines a provider of a pact.
Enums
- Enumeration of the types of differences between requests and responses
- Enum that defines the different types of HTTP statuses
- Enum defining the pact specification versions supported by the library
Constants
- Version of the library