diff --git a/tests/integration/test_record_mode.py b/tests/integration/test_record_mode.py index c47baad..0e007b3 100644 --- a/tests/integration/test_record_mode.py +++ b/tests/integration/test_record_mode.py @@ -54,6 +54,9 @@ def test_new_episodes_record_mode(tmpdir): # make the same request again response = urlopen('http://httpbin.org/').read() + # all responses have been played + assert cass.all_played + # in the "new_episodes" record mode, we can add more requests to # a cassette without repurcussions. response = urlopen('http://httpbin.org/get').read() @@ -61,6 +64,9 @@ def test_new_episodes_record_mode(tmpdir): # one of the responses has been played assert cass.play_count == 1 + # not all responses have been played + assert not cass.all_played + with vcr.use_cassette(testfile, record_mode="new_episodes") as cass: # the cassette should now have 2 responses assert len(cass.responses) == 2 diff --git a/tests/unit/test_cassettes.py b/tests/unit/test_cassettes.py index 1c5b84c..20df950 100644 --- a/tests/unit/test_cassettes.py +++ b/tests/unit/test_cassettes.py @@ -65,3 +65,17 @@ def test_cassette_cant_read_same_request_twice(): a.play_response('foo') with pytest.raises(UnhandledHTTPRequestError): a.play_response('foo') + + +def test_cassette_not_all_played(): + a = Cassette('test') + a.append('foo', 'bar') + assert not a.all_played + + +@mock.patch('vcr.cassette.requests_match', _mock_requests_match) +def test_cassette_all_played(): + a = Cassette('test') + a.append('foo', 'bar') + a.play_response('foo') + assert a.all_played