1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-10 17:45:35 +00:00

aiohttp: Raise CannotOverwriteExistingCassette if not found

This commit is contained in:
Paulo Romeira
2020-06-08 22:36:59 -03:00
committed by Kevin McCarthy
parent 837992767e
commit ba91053485

View File

@@ -11,6 +11,7 @@ from aiohttp.helpers import strip_auth_from_url
from multidict import CIMultiDict, CIMultiDictProxy from multidict import CIMultiDict, CIMultiDictProxy
from yarl import URL from yarl import URL
from vcr.errors import CannotOverwriteExistingCassetteException
from vcr.request import Request from vcr.request import Request
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@@ -245,21 +246,15 @@ def vcr_request(cassette, real_request):
vcr_request = Request(method, str(request_url), data, _serialize_headers(headers)) vcr_request = Request(method, str(request_url), data, _serialize_headers(headers))
if cassette.can_play_response_for(vcr_request): if cassette.can_play_response_for(vcr_request):
log.info("Playing response for {} from cassette".format(vcr_request))
response = play_responses(cassette, vcr_request) response = play_responses(cassette, vcr_request)
self._cookie_jar.update_cookies(response.cookies, response.url) self._cookie_jar.update_cookies(response.cookies, response.url)
return response return response
if cassette.write_protected and cassette.filter_request(vcr_request): if cassette.write_protected and cassette.filter_request(vcr_request):
response = MockClientResponse(method, URL(url)) raise CannotOverwriteExistingCassetteException(
response.status = 599 cassette=cassette, failed_request=vcr_request
msg = (
"No match for the request {!r} was found. Can't overwrite "
"existing cassette {!r} in your current record mode {!r}."
) )
msg = msg.format(vcr_request, cassette._path, cassette.record_mode)
response._body = msg.encode()
response.close()
return response
log.info("%s not in cassette, sending to real server", vcr_request) log.info("%s not in cassette, sending to real server", vcr_request)