1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-09 01:03:24 +00:00

Add .content to MockClientResponse so code which uses aiohttp request content streams directly can be tested

This commit is contained in:
Steinn Eldjárn Sigurðarson
2019-06-04 14:26:02 +00:00
parent 9039eab916
commit 1b6f304421

View File

@@ -5,12 +5,16 @@ import asyncio
import functools
import json
from aiohttp import ClientResponse
from aiohttp import ClientResponse, streams
from yarl import URL
from vcr.request import Request
class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
pass
class MockClientResponse(ClientResponse):
def __init__(self, method, url):
super().__init__(
@@ -37,6 +41,13 @@ class MockClientResponse(ClientResponse):
def release(self):
pass
@property
def content(self):
s = MockStream()
s.feed_data(self._body)
s.feed_eof()
return s
def vcr_request(cassette, real_request):
@functools.wraps(real_request)