1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-09 09:13:23 +00:00

Add support for posting files through requests. closes #121. Possibly #134.

This commit is contained in:
Ivan Malison
2015-03-24 13:27:23 -07:00
parent 7cd7264034
commit 6602a449b1
3 changed files with 24 additions and 1 deletions

View File

@@ -199,3 +199,18 @@ def test_nested_cassettes_with_session_created_before_nesting(scheme, tmpdir):
# Make sure that the session can now get content normally.
session.get('http://www.reddit.com')
def test_post_file(tmpdir, scheme):
'''Ensure that we handle posting a file.'''
url = scheme + '://httpbin.org/post'
with vcr.use_cassette(str(tmpdir.join('post_file.yaml'))) as cass, open('tox.ini') as f:
original_response = requests.post(url, f).content
# This also tests that we do the right thing with matching the body when they are files.
with vcr.use_cassette(str(tmpdir.join('post_file.yaml')),
match_on=('method', 'scheme', 'host', 'port', 'path', 'query', 'body')) as cass, open('tox.ini') as f:
tox_content = f.read()
assert cass.requests[0].body.read() == tox_content
with open('tox.ini') as f:
new_response = requests.post(url, f).content
assert original_response == new_response