mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 17:15:35 +00:00
Fixes #123. When attempting to replay the same request twice using record_mode="new_episodes", vcr.py raises UnhandledHTTPRequestError.
This commit is contained in:
@@ -72,6 +72,21 @@ def test_new_episodes_record_mode(tmpdir):
|
|||||||
assert len(cass.responses) == 2
|
assert len(cass.responses) == 2
|
||||||
|
|
||||||
|
|
||||||
|
def test_new_episodes_record_mode_two_times(tmpdir):
|
||||||
|
testfile = str(tmpdir.join('recordmode.yml'))
|
||||||
|
with vcr.use_cassette(testfile, record_mode="new_episodes"):
|
||||||
|
# cassette file doesn't exist, so create.
|
||||||
|
response1 = urlopen('http://httpbin.org/').read()
|
||||||
|
|
||||||
|
with vcr.use_cassette(testfile, record_mode="new_episodes") as cass:
|
||||||
|
# make the same request again
|
||||||
|
response = urlopen('http://httpbin.org/').read()
|
||||||
|
|
||||||
|
# in the "new_episodes" record mode, we can add the same request
|
||||||
|
# to the cassette without repercussions
|
||||||
|
response = urlopen('http://httpbin.org/').read()
|
||||||
|
|
||||||
|
|
||||||
def test_all_record_mode(tmpdir):
|
def test_all_record_mode(tmpdir):
|
||||||
testfile = str(tmpdir.join('recordmode.yml'))
|
testfile = str(tmpdir.join('recordmode.yml'))
|
||||||
|
|
||||||
|
|||||||
@@ -219,6 +219,7 @@ class Cassette(object):
|
|||||||
|
|
||||||
def __contains__(self, request):
|
def __contains__(self, request):
|
||||||
"""Return whether or not a request has been stored"""
|
"""Return whether or not a request has been stored"""
|
||||||
for response in self._responses(request):
|
for index, response in self._responses(request):
|
||||||
return True
|
if self.play_counts[index] == 0:
|
||||||
|
return True
|
||||||
return False
|
return False
|
||||||
|
|||||||
Reference in New Issue
Block a user