I used "POST MAN" to test Flask's API, but now I've learned how to unit test with Flask, so it's a memorandum.
The test code is separated as "test.py". I have a simple routing setting in "app.py".
app.py
from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route("/")
def home():
if request.is_json: #json data specification
return jsonify({"msg": "fault massage"}), 400
return jsonify({"msg": "success message"}), 200
if __name__ == "__main__":
app.run()
This time it is get communication, but other communication is possible if get is set to post etc.
test.py
import json
from app import app # app.Import py
with app.test_client() as c:
res = c.get("/", data=json.dumps({
"test" : "test"
}
),
headers={
"Content-Type" : "application/json"
}
)
print(res.get_data())