#!/usr/bin/env python3 """Smoketest: all key pages return 200.""" import subprocess, sys URLS = [ ("GET /", "http://127.0.0.1:5000/"), ("GET /messages", "http://127.0.0.1:5000/messages"), ("GET /articles", "http://127.0.0.1:5000/articles"), ("GET /learn", "http://127.0.0.1:5000/learn"), ("GET /reports", "http://127.0.0.1:5000/reports"), ("GET /dashboard", "http://127.0.0.1:5000/dashboard"), ("GET /chat (AI)", "http://127.0.0.1:5000/chat"), ("GET /chat/wxid_test", "http://127.0.0.1:5000/chat/wxid_test"), ] PASS = FAIL = 0 for name, url in URLS: r = subprocess.run(["curl", "-s", "-o", "/dev/null", "-w", "%{http_code}", "--connect-timeout", "5", "--max-time", "10", url], capture_output=True, text=True, timeout=15) code = r.stdout.strip() if code == "200": PASS += 1 print(f" ✅ {name} → {code}") else: FAIL += 1 print(f" ❌ {name} → {code}") print(f"\nSmoketest: {PASS}/{PASS+FAIL} passed") sys.exit(0 if FAIL == 0 else 1)