also store json result in local request
This commit is contained in:
parent
3b464782ef
commit
199fa50a9d
|
@ -26,6 +26,7 @@ class SanicTestClient:
|
||||||
session, method.lower())(url, *args, **kwargs) as response:
|
session, method.lower())(url, *args, **kwargs) as response:
|
||||||
try:
|
try:
|
||||||
response.text = await response.text()
|
response.text = await response.text()
|
||||||
|
response.json = await response.json()
|
||||||
except UnicodeDecodeError as e:
|
except UnicodeDecodeError as e:
|
||||||
response.text = None
|
response.text = None
|
||||||
response.body = await response.read()
|
response.body = await response.read()
|
||||||
|
|
|
@ -9,10 +9,12 @@ import pytest
|
||||||
from random import choice
|
from random import choice
|
||||||
|
|
||||||
from sanic import Sanic
|
from sanic import Sanic
|
||||||
from sanic.response import HTTPResponse, stream, StreamingHTTPResponse, file, file_stream
|
from sanic.response import HTTPResponse, stream, StreamingHTTPResponse, file, file_stream, json
|
||||||
from sanic.testing import HOST, PORT
|
from sanic.testing import HOST, PORT
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
|
JSON_DATA = {'ok': True}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def test_response_body_not_a_string():
|
def test_response_body_not_a_string():
|
||||||
|
@ -34,6 +36,24 @@ async def sample_streaming_fn(response):
|
||||||
response.write('bar')
|
response.write('bar')
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def json_app():
|
||||||
|
app = Sanic('json')
|
||||||
|
|
||||||
|
@app.route("/")
|
||||||
|
async def test(request):
|
||||||
|
return json(JSON_DATA)
|
||||||
|
|
||||||
|
return app
|
||||||
|
|
||||||
|
|
||||||
|
def test_json_response(json_app):
|
||||||
|
from sanic.response import json_dumps
|
||||||
|
request, response = json_app.test_client.get('/')
|
||||||
|
assert response.status == 200
|
||||||
|
assert response.text == json_dumps(JSON_DATA)
|
||||||
|
assert response.json == JSON_DATA
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def streaming_app():
|
def streaming_app():
|
||||||
app = Sanic('streaming')
|
app = Sanic('streaming')
|
||||||
|
|
Loading…
Reference in New Issue
Block a user