mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-08 16:53:23 +00:00
24 lines
973 B
Python
24 lines
973 B
Python
from urllib.request import urlopen
|
|
|
|
import pytest
|
|
|
|
import vcr
|
|
from vcr.errors import CannotOverwriteExistingCassetteException
|
|
|
|
|
|
def test_making_extra_request_raises_exception(tmpdir, httpbin):
|
|
# make two requests in the first request that are considered
|
|
# identical (since the match is based on method)
|
|
with vcr.use_cassette(str(tmpdir.join("test.json")), match_on=["method"]):
|
|
urlopen(httpbin.url + "/status/200")
|
|
urlopen(httpbin.url + "/status/201")
|
|
|
|
# Now, try to make three requests. The first two should return the
|
|
# correct status codes in order, and the third should raise an
|
|
# exception.
|
|
with vcr.use_cassette(str(tmpdir.join("test.json")), match_on=["method"]):
|
|
assert urlopen(httpbin.url + "/status/200").getcode() == 200
|
|
assert urlopen(httpbin.url + "/status/201").getcode() == 201
|
|
with pytest.raises(CannotOverwriteExistingCassetteException):
|
|
urlopen(httpbin.url + "/status/200")
|