Cassette stores and replays HTTP requests made in your Python app.
Project description
Cassette stores and replays HTTP requests made in your Python app.
import urllib2
import cassette
with cassette.play("data/responses.yaml"):
# If the request is not already stored in responses.yaml, cassette
# will request the URL and store its response in the file.
r = urllib2.urlopen("http://www.internic.net/domain/named.root")
# This time, the request response must be in the file. The external
# request is not made. cassette retrieves the response from the
# file.
r = urllib2.urlopen("http://www.internic.net/domain/named.root")
assert "A.ROOT-SERVERS.NET" in r.read(10000)
Cassette also supports the requests library.
import requests
with cassette.play("data/responses.yaml"):
r = requests.get("http://www.internic.net/domain/named.root")
Note that requests stored between different libraries may not be compatible with each other. That is, a request stored with urllib2 might still trigger an external request is the same URL is requested with requests.
Installation
$ pip install cassette
Documentation
Latest documentation: cassette.readthedocs.org
License
cassette is available under the MIT License.
Copyright Uber 2013, Charles-Axel Dein <charles@uber.com>
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
cassette-0.3.5.tar.gz
(15.7 kB
view hashes)
Built Distribution
Close
Hashes for cassette-0.3.5.macosx-10.9-intel.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b8d569907669784c99f1c6cf01316c21ea5c034337cc4692bedd26408bdbc5b |
|
MD5 | 5d8a94dc2cd7633802b3cd10efdf678b |
|
BLAKE2b-256 | 2ad771696684442a941b364d6f279aa5971e681e18500b97ce37de4e6d17b133 |