Skip to main content

Generate Python test cases from Pact files, for easier provider verification.

Project description

Pact Test Generator

https://img.shields.io/pypi/v/pact-testgen.svg https://img.shields.io/travis/pymetrics/pact-testgen.svg Documentation Status

Generate Python test cases from Pact files, for easier provider verification.

Features

  • Test Pact contracts against your Python providers via unit tests. Get test isolation for free.

  • pact-testgen creates test cases from your Pact files, with placeholders for defining provider states.

Getting Started

Install with pip

python -m pip install pact-testgen

Generate test files

Generate a provider_states.py and test_pact.py files in your tests directory:

pact-testgen /tests/dir -f /path/to/pactfile.json

For more details, see the Usage section of the documentation.

Fill in the generated provider states file

In your tests directory (passed as the first argument to pact-testgen), you’ll see a file named provider_states.py. It will contain set up functions matching the provider states defined in your pact file.

Before continuing, complete these functions so that they create the required states.

Run your tests

Run your test suite as normal, being sure to check the the test runner has picked up your new test_pact.py file.

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Logo Admiranda Urbis Venetæ from the British Library’s King’s Topographical Collection.

Verification of test responses in generated test code is powered by pactman.

History

0.6.0 (2022-10-30)

  • Test against Python 3.10, 3.11

0.5.0 (2022-02-04)

  • Adds Pact Broker support.

0.4.3 (2021-09-20)

  • Fix file handling for merge provider state file option.

0.4.2 (2021-09-18)

  • Improve handling of request data.

0.4.1 (2021-09-17)

  • Fix test method name missing test_.

0.4.0 (2021-09-16)

  • Adds option to merge changes to provider state file (Python 3.9 only).

  • Include structured provider state parameters from Pact v3 in provider state function names.

  • Support null provider state, i.e. pact.given(None).

0.3.0 (2021-09-03)

  • Provider state setup functions now raise NotImplementedError by default.

  • Format output files with target line length option.

  • Improve output to console, add quiet option.

0.2.1 (2021-09-01)

  • Fix test client not setting content type.

0.2.0 (2021-09-01)

  • Improve output for failed test cases.

0.1.2 (2021-08-25)

  • Fix bump2version config

0.1.1 (2021-08-24)

  • Fix templates missing from distributed package.

0.1.0 (2021-08-23)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pact_testgen-0.7.0.tar.gz (113.1 kB view details)

Uploaded Source

Built Distribution

pact_testgen-0.7.0-py2.py3-none-any.whl (17.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pact_testgen-0.7.0.tar.gz.

File metadata

  • Download URL: pact_testgen-0.7.0.tar.gz
  • Upload date:
  • Size: 113.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.13

File hashes

Hashes for pact_testgen-0.7.0.tar.gz
Algorithm Hash digest
SHA256 86631e1036440d703095eeb522d5a13e70a74b3afd0770cc05b3bfcecbe9e484
MD5 0af80197856113f7ad405e802e7f1311
BLAKE2b-256 8ae3c0c2dbbab009d10384141a217e0bb107f6f13ba05ae2824956287f0c95f1

See more details on using hashes here.

File details

Details for the file pact_testgen-0.7.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pact_testgen-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6d02627de42715ad2f976777fe7d17512ef204953da3bd4da1bda19ef52759ad
MD5 0450b8269eebd8f04adac8f2045c3161
BLAKE2b-256 07609c7d5fa9d1782cbdf7322b60767d3245577f98fee0cb592d0b92a8999b79

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page