Pact Mock Service
This codebase provides the mock service used by implementations of Pact. It is packaged as a gem, and as a standalone executable for Mac OSX and Linux (Windows coming soon.)
The mock service provides the following endpoints:
- DELETE /interactions - clear previously mocked interactions
- POST /interactions - set up an expected interaction
- GET /interactions/verification - determine whether the expected interactions have taken place
- POST /pact - write the pact file
As the Pact mock service can be used as a standalone executable and administered via HTTP, it can be used for testing with any language. All that is required is a library in the native language to create the HTTP calls listed above. Currently there are binding for Ruby and Javascript. If you are interested in creating bindings in a new langauge, and have a chat to one of us on the pact-dev Google group.
Usage
For some examples of the HTTP requests that occur under the hood when using either the Ruby client or the Javascript client, see this gist.
With Ruby on Mac OSX and Linux
$ gem install pact-mock_service
$ pact-mock-service --port 1234
Run pact-mock-service help
for command line options.
With Ruby on Windows
Check out the wiki page here.
With SSL
If you need to use the mock service with HTTPS, you can use the built-in SSL mode which relies on a self-signed certificate.
$ pact-mock-service --port 1234 --ssl
Mac OSX and Linux, without Ruby
See the releases page for the latest standalone executables.
Windows, without Ruby
See the releases page for the latest standalone executables.
Contributing
See CONTRIBUTING.md