summaryrefslogtreecommitdiffstats
path: root/lang/python/Flask/test.sh
blob: 68b2439c22f0d01cb39a4e0bda3cfb707534ec8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh

[ "$1" = python3-flask ] || exit 0

python3 - <<EOF
import sys
import flask

if flask.__version__ != "$2":
    print("Wrong version: " + flask.__version__)
    sys.exit(1)

app = flask.Flask(__name__)
app.config["TESTING"] = True
app.config["SECRET_KEY"] = "test-secret"

@app.route("/")
def index():
    return "Hello, OpenWrt!"

@app.route("/greet/<name>")
def greet(name):
    return flask.jsonify(message=f"Hello, {name}!")

@app.route("/session-test")
def session_test():
    flask.session["key"] = "value"
    return "ok"

with app.test_client() as client:
    resp = client.get("/")
    assert resp.status_code == 200
    assert resp.data == b"Hello, OpenWrt!"

    resp = client.get("/greet/World")
    assert resp.status_code == 200
    data = flask.json.loads(resp.data)
    assert data["message"] == "Hello, World!"

    resp = client.get("/session-test")
    assert resp.status_code == 200

print("python-flask OK")
EOF