Skip to main content

Automatically mock your HTTP interactions to simplify and speed up testing

Project description

PyPI Build Status Waffle Ready Join the chat at https://gitter.im/kevin1024/vcrpy

VCR.py

vcr.py

This is a Python version of Ruby’s VCR library.

Source code

https://github.com/kevin1024/vcrpy

Documentation

https://vcrpy.readthedocs.io/

Rationale

VCR.py simplifies and speeds up tests that make HTTP requests. The first time you run code that is inside a VCR.py context manager or decorated function, VCR.py records all HTTP interactions that take place through the libraries it supports and serializes and writes them to a flat file (in yaml format by default). This flat file is called a cassette. When the relevant piece of code is executed again, VCR.py will read the serialized requests and responses from the aforementioned cassette file, and intercept any HTTP requests that it recognizes from the original test run and return the responses that corresponded to those requests. This means that the requests will not actually result in HTTP traffic, which confers several benefits including:

  • The ability to work offline

  • Completely deterministic tests

  • Increased test execution speed

If the server you are testing against ever changes its API, all you need to do is delete your existing cassette files, and run your tests again. VCR.py will detect the absence of a cassette file and once again record all HTTP interactions, which will update them to correspond to the new API.

Support

VCR.py works great with the following HTTP clients:

  • requests

  • aiohttp

  • urllib3

  • tornado

  • urllib2

  • boto

  • boto3

License

This library uses the MIT license. See LICENSE.txt for more details

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

vcrpy-1.10.3.tar.gz (61.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vcrpy-1.10.3-py2.py3-none-any.whl (36.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file vcrpy-1.10.3.tar.gz.

File metadata

  • Download URL: vcrpy-1.10.3.tar.gz
  • Upload date:
  • Size: 61.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for vcrpy-1.10.3.tar.gz
Algorithm Hash digest
SHA256 b2c76736999d81d5321b94d997e3480ffbde8fe56d918eb2798d0e0545cb9f21
MD5 7e2152fea50dce1c99c7b9be236cc50a
BLAKE2b-256 e27bfc4697bccfc36596ecb4057975e9813fede6b885fd84f4d7cc3d89efbd56

See more details on using hashes here.

File details

Details for the file vcrpy-1.10.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for vcrpy-1.10.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a04102360995f3e40dd9127a2e8a0c70f45e086e4a68bf255570c0057312454f
MD5 074b75d8121f28c190cc2edec37b9e58
BLAKE2b-256 467c3b5d88111e535c1b90665cbe7d9b84c3e116a40d4d4812d4ae51fa60eea2

See more details on using hashes here.

Supported by

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