Test illustrating POST against register_routes(), closes #853

This commit is contained in:
Simon Willison 2020-06-18 09:21:15 -07:00
commit d2aef9f7ef
2 changed files with 14 additions and 0 deletions

View file

@ -162,10 +162,17 @@ def register_routes():
send, {"hello": "world"}, status=200, headers={"x-three": "1"}
)
async def post(request):
if request.method == "GET":
return Response.html(request.scope["csrftoken"]())
else:
return Response.json(await request.post_vars())
return [
(r"/one/$", one),
(r"/two/(?P<name>.*)$", two),
(r"/three/$", three),
(r"/post/$", post),
]

View file

@ -568,6 +568,13 @@ def test_register_routes(app_client, path, body):
assert body == response.text
def test_register_routes_post(app_client):
response = app_client.post("/post/", {"this is": "post data"}, csrftoken_from=True)
assert 200 == response.status
assert "csrftoken" in response.json
assert "post data" == response.json["this is"]
def test_register_routes_asgi(app_client):
response = app_client.get("/three/")
assert {"hello": "world"} == response.json