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

Merge pull request #243 from kevin1024/response_filtering

allow filtering by response
This commit is contained in:
Ivan 'Goat' Malison
2016-01-11 17:12:44 -08:00
3 changed files with 18 additions and 1 deletions

View File

@@ -39,6 +39,6 @@ python:
- pypy
install:
- pip install tox-travis
- if [[ $TOX_SUFFIX != flakes ]]; then python setup.py install ; fi
- if [[ $TOX_SUFFIX != 'flakes' ]]; then python setup.py install ; fi
script:
- tox -e "${TOX_SUFFIX}"

View File

@@ -113,6 +113,21 @@ def test_vcr_before_record_response_iterable():
assert mock_filter.call_count == 1
def test_before_record_response_as_filter():
request = Request('GET', '/', '', {})
response = object() # just can't be None
# Prevent actually saving the cassette
with mock.patch('vcr.cassette.save_cassette'):
filter_all = mock.Mock(return_value=None)
vcr = VCR(before_record_response=filter_all)
with vcr.use_cassette('test') as cassette:
cassette.append(request, response)
assert cassette.data == []
assert not cassette.dirty
def test_vcr_path_transformer():
# Regression test for #199

View File

@@ -211,6 +211,8 @@ class Cassette(object):
if not request:
return
response = self._before_record_response(response)
if response is None:
return
self.data.append((request, response))
self.dirty = True