forked from orbit-oss/flask
Update the testing documentation
This commit is contained in:
parent
23de58682c
commit
539569e5f2
1 changed files with 21 additions and 1 deletions
|
|
@ -360,4 +360,24 @@ Testing JSON APIs
|
||||||
|
|
||||||
.. versionadded:: 1.0
|
.. versionadded:: 1.0
|
||||||
|
|
||||||
Flask has comprehensive
|
Flask has a great support for JSON, and is a popular choice for building REST
|
||||||
|
APIs. Testing both JSON requests and responses using the test client is very
|
||||||
|
convenient:
|
||||||
|
|
||||||
|
from flask import json, jsonify
|
||||||
|
|
||||||
|
@app.route('/api/auth')
|
||||||
|
def auth():
|
||||||
|
email = request.json['email']
|
||||||
|
password = request.json['password']
|
||||||
|
return jsonify(token=generate_token(email, password))
|
||||||
|
|
||||||
|
with app.test_client() as c:
|
||||||
|
email = 'john@example.com'
|
||||||
|
password = 'secret'
|
||||||
|
resp = c.post('/api/auth', json={'email': email, 'password': password})
|
||||||
|
assert verify_token(email, resp.json['token'])
|
||||||
|
|
||||||
|
Note that if the ``json`` argument is provided then the test client will put
|
||||||
|
the JSON-serialized object in the request body, and also set the
|
||||||
|
``Content-Type: application/json`` header.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue