sanic/tests/test_payload_too_large.py

44 lines
1.2 KiB
Python
Raw Normal View History

from sanic.exceptions import PayloadTooLarge
from sanic.response import text
2018-08-26 15:43:14 +01:00
def test_payload_too_large_from_error_handler(app):
app.config.REQUEST_MAX_SIZE = 1
2018-12-30 11:18:06 +00:00
@app.route("/1")
2017-03-29 04:38:45 +01:00
async def handler1(request):
2018-12-30 11:18:06 +00:00
return text("OK")
2018-08-26 15:43:14 +01:00
@app.exception(PayloadTooLarge)
2017-03-29 04:38:45 +01:00
def handler_exception(request, exception):
2018-12-30 11:18:06 +00:00
return text("Payload Too Large from error_handler.", 413)
2018-12-30 11:18:06 +00:00
response = app.test_client.get("/1", gather_request=False)
assert response.status == 413
2018-12-30 11:18:06 +00:00
assert response.text == "Payload Too Large from error_handler."
2018-08-26 15:43:14 +01:00
def test_payload_too_large_at_data_received_default(app):
app.config.REQUEST_MAX_SIZE = 1
2018-12-30 11:18:06 +00:00
@app.route("/1")
2017-03-29 04:38:45 +01:00
async def handler2(request):
2018-12-30 11:18:06 +00:00
return text("OK")
2018-12-30 11:18:06 +00:00
response = app.test_client.get("/1", gather_request=False)
assert response.status == 413
assert "Request header" in response.text
2018-08-26 15:43:14 +01:00
def test_payload_too_large_at_on_header_default(app):
app.config.REQUEST_MAX_SIZE = 500
2018-12-30 11:18:06 +00:00
@app.post("/1")
2017-03-29 04:38:45 +01:00
async def handler3(request):
2018-12-30 11:18:06 +00:00
return text("OK")
2018-12-30 11:18:06 +00:00
data = "a" * 1000
response = app.test_client.post("/1", gather_request=False, data=data)
assert response.status == 413
assert "Request body" in response.text