mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 01:03:24 +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
|
- pypy
|
||||||
install:
|
install:
|
||||||
- pip install tox-travis
|
- 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:
|
script:
|
||||||
- tox -e "${TOX_SUFFIX}"
|
- tox -e "${TOX_SUFFIX}"
|
||||||
|
|||||||
@@ -113,6 +113,21 @@ def test_vcr_before_record_response_iterable():
|
|||||||
assert mock_filter.call_count == 1
|
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():
|
def test_vcr_path_transformer():
|
||||||
# Regression test for #199
|
# Regression test for #199
|
||||||
|
|
||||||
|
|||||||
@@ -211,6 +211,8 @@ class Cassette(object):
|
|||||||
if not request:
|
if not request:
|
||||||
return
|
return
|
||||||
response = self._before_record_response(response)
|
response = self._before_record_response(response)
|
||||||
|
if response is None:
|
||||||
|
return
|
||||||
self.data.append((request, response))
|
self.data.append((request, response))
|
||||||
self.dirty = True
|
self.dirty = True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user