Skip to content

pact-1.17.0

Compare
Choose a tag to compare
@bethesque bethesque released this 06 Nov 09:08
· 727 commits to master since this release

Pact standalone executables

This package contains the Ruby implementations of the Pact Mock Service, Pact Provider Verifier and Pact Broker Client, packaged with Travelling Ruby so that they can be run from the command line without a Ruby installation.

Package contents

This version (1.17.0) of the Pact standalone executables package contains:

  • pact gem 1.19.1
  • pact-mock_service gem 2.5.4
  • pact-support gem 1.2.4
  • pact-provider-verifier gem 1.8.0
  • pact_broker-client gem 1.12.0

Usage

pact-mock-service

Commands:
  pact-mock-service control               # Run a Pact mock service control s...
  pact-mock-service control-restart       # Start a Pact mock service control...
  pact-mock-service control-start         # Start a Pact mock service control...
  pact-mock-service control-stop          # Stop a Pact mock service control ...
  pact-mock-service help [COMMAND]        # Describe available commands or on...
  pact-mock-service restart               # Start or restart a mock service. ...
  pact-mock-service service               # Start a mock service. If the cons...
  pact-mock-service start                 # Start a mock service. If the cons...
  pact-mock-service stop -p, --port=PORT  # Stop a Pact mock service
  pact-mock-service version               # Show the pact-mock-service gem ve...

Usage:
  pact-mock-service service

Options:
      [--consumer=CONSUMER]                                      # Consumer name
      [--provider=PROVIDER]                                      # Provider name
  -p, [--port=PORT]                                              # Port on which to run the service
  -h, [--host=HOST]                                              # Host on which to bind the service
                                                                 # Default: localhost
  -d, [--pact-dir=PACT_DIR]                                      # Directory to which the pacts will be written
  -m, [--pact-file-write-mode=PACT_FILE_WRITE_MODE]              # `overwrite` or `merge`. Use `merge` when running multiple mock service instances in parallel for the same consumer/provider pair. Ensure the pact file is deleted before running tests when using this option so that interactions deleted from the code are not maintained in the file.
                                                                 # Default: overwrite
  -i, [--pact-specification-version=PACT_SPECIFICATION_VERSION]  # The pact specification version to use when writing the pact. Note that only versions 1 and 2 are currently supported.
                                                                 # Default: 2
  -l, [--log=LOG]                                                # File to which to log output
  -o, [--cors=CORS]                                              # Support browser security in tests by responding to OPTIONS requests and adding CORS headers to mocked responses
      [--ssl], [--no-ssl]                                        # Use a self-signed SSL cert to run the service over HTTPS
      [--sslcert=SSLCERT]                                        # Specify the path to the SSL cert to use when running the service over HTTPS
      [--sslkey=SSLKEY]                                          # Specify the path to the SSL key to use when running the service over HTTPS

Start a mock service. If the consumer, provider and pact-dir options are provided, the pact will be written automatically on shutdown (INT).

pact-stub-service

Usage:
  pact-stub-service PACT ...

Options:
  -p, [--port=PORT]        # Port on which to run the service
  -h, [--host=HOST]        # Host on which to bind the service
                           # Default: localhost
  -l, [--log=LOG]          # File to which to log output
  -o, [--cors=CORS]        # Support browser security in tests by responding to OPTIONS requests and adding CORS headers to mocked responses
      [--ssl], [--no-ssl]  # Use a self-signed SSL cert to run the service over HTTPS
      [--sslcert=SSLCERT]  # Specify the path to the SSL cert to use when running the service over HTTPS
      [--sslkey=SSLKEY]    # Specify the path to the SSL key to use when running the service over HTTPS

Description:
  Start a stub service with the given pact file(s). Where multiple matching 
  interactions are found, the interactions will be sorted by response status, 
  and the first one will be returned. This may lead to some non-deterministic 
  behaviour. If you are having problems with this, please raise it on the 
  pact-dev google group, and we can discuss some potential enhancements. Note 
  that only versions 1 and 2 of the pact specification are currently supported.

pact-provider-verifier

Usage:
  pact-provider-verifier PACT_URL ... -h, --provider-base-url=PROVIDER_BASE_URL

Options:
  -h, --provider-base-url=PROVIDER_BASE_URL                          # Provider host URL
  -c, [--provider-states-setup-url=PROVIDER_STATES_SETUP_URL]        # Base URL to setup the provider states at
  -a, [--provider-app-version=PROVIDER_APP_VERSION]                  # Provider application version, required when publishing verification results
  -r, [--publish-verification-results=PUBLISH_VERIFICATION_RESULTS]  # Publish verification results to the broker
  -n, [--broker-username=BROKER_USERNAME]                            # Pact Broker basic auth username
  -p, [--broker-password=BROKER_PASSWORD]                            # Pact Broker basic auth password
      [--custom-provider-header=CUSTOM_PROVIDER_HEADER]              # Header to add to provider state set up and pact verification requests. eg 'Authorization: Basic cGFjdDpwYWN0'. May be specified multiple times.
  -v, [--verbose=VERBOSE]                                            # Verbose output
  -f, [--format=FORMATTER]                                           # RSpec formatter. Defaults to custom Pact formatter. [j]son may also be used.
  -u, [--pact-urls=PACT_URLS]                                        # DEPRECATED. Please provide as space separated arguments.

Verify pact(s) against a provider. Supports local and networked (http-based) files.

pact-broker client

Usage:
  pact-broker publish PACT_DIRS_OR_FILES ... -a, --consumer-app-version=CONSUMER_APP_VERSION -b, --broker-base-url=BROKER_BASE_URL

Options:
  -a, --consumer-app-version=CONSUMER_APP_VERSION          # The consumer application version
  -b, --broker-base-url=BROKER_BASE_URL                    # The base URL of the Pact Broker
  -u, [--broker-username=BROKER_USERNAME]                  # Pact Broker basic auth username
  -p, [--broker-password=BROKER_PASSWORD]                  # Pact Broker basic auth password
  -t, [--tag=TAG]                                          # Tag name for consumer version. Can be specified multiple times.
  -g, [--tag-with-git-branch], [--no-tag-with-git-branch]  # Tag consumer version with the name of the current git branch. Default: false
  -v, [--verbose], [--no-verbose]                          # Verbose output. Default: false

Publish pacts to a Pact Broker.

Installation

OSX

curl -LO https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v1.17.0/pact-1.17.0-osx.tar.gz
tar xzf pact-1.17.0-osx.tar.gz
cd pact/bin
./pact-mock-service --help start
./pact-provider-verifier --help verify

Linux 64 bit

curl -LO https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v1.17.0/pact-1.17.0-linux-x86_64.tar.gz
tar xzf pact-1.17.0-linux-x86_64.tar.gz
cd pact/bin
./pact-mock-service --help start
./pact-provider-verifier --help verify

Linux 32 bit

curl -LO https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v1.17.0/pact-1.17.0-linux-x86.tar.gz
tar xzf pact-1.17.0-linux-x86.tar.gz
cd pact/bin
./pact-mock-service --help start
./pact-provider-verifier --help verify

Windows

Download package, unzip, then run:

$ cd pact
$ .\bin\pact-mock-service.bat --help start
$ .\bin\pact-provider-verifier.bat --help verify