Files
detections/e2e/mocks/annotations/app.py
T
2026-03-23 14:07:54 +02:00

59 lines
1.2 KiB
Python

from flask import Flask, request
app = Flask(__name__)
_mode = "normal"
_annotations: list = []
def _fail():
return _mode == "error"
@app.route("/annotations", methods=["POST"])
def annotations():
if _fail():
return "", 503
_annotations.append(request.get_json(silent=True))
return "", 200
@app.route("/auth/refresh", methods=["POST"])
def auth_refresh():
if _fail():
return "", 503
return {"token": "refreshed-test-token"}
@app.route("/mock/config", methods=["POST"])
def mock_config():
global _mode
body = request.get_json(silent=True) or {}
mode = body.get("mode", "normal")
if mode not in ("normal", "error"):
return "", 400
_mode = mode
return "", 200
@app.route("/mock/reset", methods=["POST"])
def mock_reset():
global _mode, _annotations
_mode = "normal"
_annotations.clear()
return "", 200
@app.route("/mock/status", methods=["GET"])
def mock_status():
return {
"mode": _mode,
"annotation_count": len(_annotations),
"annotations": list(_annotations),
}
@app.route("/mock/annotations", methods=["GET"])
def mock_annotations_list():
return {"annotations": list(_annotations)}