Contract Details
This section describes the contract details page in PactFlow. The contract details page displays a comprehensive breakdown of the contract (pact) and verification results between a specific consumer and provider version, along with metadata and pacticipant information.
Statuses
The following table describes the statuses displayed on this page:
Status | Description |
---|---|
✅ | The pact has a successful verification published for it. |
❗️ | The latest verification for the pact had failed. |
⚠️ | No verification result has been published for the pact. |
You can see the interactions based on their status using the filter controls:
![Status Filter](/ui/clarity/contract-filter.png)
Test Details
Scenarios
Each test scenario is broken down into:
- The name of the scenario.
- Zero or more provider states, where each provider state may have associated JSON parameters.
- The type of interaction (one of
Synchronous/HTTP
,Synchronous/Messages
, orAsynchronous/Messages
). - The request and/or response(s) portion of the test.
Each test may have zero or more errors associated with it.
HTTP Requests
For HTTP interactions, the requests and responses are shown in the HTTP Message format, similar to what you would see from a cURL command.
Matching rules are hidden by default. Click the toggle to reveal the matching rule information.
Asynchronous Messages
Asynchronous messages are unidirectional and only have a "request" element:
Matching rules are hidden by default. Click the toggle to reveal the matching rule information.
Synchronous Interactions
Synchronous messages are bidirectional and have a "request" element and one or more "response" elements:
Matching rules are hidden by default. Click the toggle to reveal the matching rule information.
Plugin Interactions
Plugin interactions may be associated with HTTP, Asynchronous, or Synchronous Messages. The layout of the tests will depend on the interaction type being used.
Additional information about the plugin will be displayed, including:
- Plugin markup - the plugin-defined representation of the contract.
- Plugin configuration - additional JSON configuration used by the plugin.
Matching rules are hidden by default. Click the toggle to reveal the matching rule information.
Binary Content
Binary content will be displayed as a hexdump. ASCII characters will attempt to be displayed in the right-hand column:
00000000: 0001 0305 1f0a 0962 6364 6566 6768 696a .......bcdefghij
00000010: 6b6c 6d6e 6f70 7172 7374 7576 7778 797a klmnopqrstuvwxyz
00000020: 3031 3233 3435 3637 3839 0123456789
Application Information
In the right panel, information about each application in the current integration is shown, including the version, current branch, tags, and any deployed environments. The following actions are available from these tiles:
- Copy contract URL - Copies the URL of the latest pact (consumer) or provider contract (provider).
- Copy stub URL - Copies the URL of the stub created from the latest pact.
![Application Information](/ui/clarity/contract-application.png)
![Menu Actions](/ui/clarity/contract-application-menu-actions.png)
Pact Metadata
In the right panel, any metadata from the pact file is shown.
Menu Items
The following actions are available on this page:
![Menu Actions](/ui/clarity/contract-menu-actions.png)
- Refresh the page - Updates the page to use newer data if available.
- Delete verification results - Deletes the currently visible (latest) verification result.
- Delete pact for consumer version
:version
- Deletes the current pact. - Delete the integration - Deletes both pacticipants and all associated data (pacts, verifications, application versions, tags, and webhooks) that are not associated with other integrations.
- Delete all pacts - Removes all pacts between the current consumer and provider.
Some of these actions are only visible if the current user has the appropriate permissions, such as contract_data:bulk_delete.