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:
@@ -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}"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user