sanic/tests/test_utf8.py

52 lines
1.2 KiB
Python
Raw Normal View History

2018-08-26 15:43:14 +01:00
from json import dumps as json_dumps
2018-08-26 15:43:14 +01:00
from sanic.response import text
# ------------------------------------------------------------ #
# UTF-8
# ------------------------------------------------------------ #
2018-12-30 11:18:06 +00:00
def test_utf8_query_string(app):
@app.route("/")
async def handler(request):
2018-12-30 11:18:06 +00:00
return text("OK")
2018-12-30 11:18:06 +00:00
request, response = app.test_client.get("/", params=[("utf8", "")])
assert request.args.get("utf8") == ""
2018-08-26 15:43:14 +01:00
def test_utf8_response(app):
2018-12-30 11:18:06 +00:00
@app.route("/")
async def handler(request):
2018-12-30 11:18:06 +00:00
return text("")
2018-12-30 11:18:06 +00:00
request, response = app.test_client.get("/")
assert response.text == ""
2018-08-26 15:43:14 +01:00
def skip_test_utf8_route(app):
2018-12-30 11:18:06 +00:00
@app.route("/")
async def handler(request):
2018-12-30 11:18:06 +00:00
return text("OK")
# UTF-8 Paths are not supported
2018-12-30 11:18:06 +00:00
request, response = app.test_client.get("/✓")
assert response.text == "OK"
2018-08-26 15:43:14 +01:00
def test_utf8_post_json(app):
@app.post("/")
async def handler(request):
2018-12-30 11:18:06 +00:00
return text("OK")
2018-12-30 11:18:06 +00:00
payload = {"test": ""}
headers = {"content-type": "application/json"}
request, response = app.test_client.post(
2018-12-30 11:18:06 +00:00
"/", data=json_dumps(payload), headers=headers
)
2018-12-30 11:18:06 +00:00
assert request.json.get("test") == ""
assert response.text == "OK"