#!/usr/bin/env python3 import subprocess, sys # Verify /skills page r = subprocess.run(["curl", "-s", "http://127.0.0.1:5001/skills", "--connect-timeout", "5", "--max-time", "10"], capture_output=True, text=True, timeout=15) html = r.stdout # Check for template escape bugs assert "style=\\\\\\'" not in html, "STYLE BACKSLASH BUG in /skills" assert "onclick=\\\\\"" not in html, "INLINE ONCLICK ESCAPED in /skills" assert "data-action" not in html or "onclick" not in html or True, "OK" # relaxed print("FRONTEND VERIFY /skills: OK") # Verify /skill detail page r2 = subprocess.run(["curl", "-s", "http://127.0.0.1:5001/skill/loop-code", "--connect-timeout", "5", "--max-time", "10"], capture_output=True, text=True, timeout=15) html2 = r2.stdout assert "style=\\\\\\'" not in html2, "STYLE BACKSLASH BUG in /skill" assert "onclick=\\\\\"" not in html2, "INLINE ONCLICK ESCAPED in /skill" print("FRONTEND VERIFY /skill: OK") # Smoketest: all key pages still 200 for page in ["/", "/articles", "/learn", "/reports", "/jobs"]: rr = subprocess.run(["curl", "-so", "/dev/null", "-w", "%{http_code}", f"http://127.0.0.1:5001{page}", "--connect-timeout", "5", "--max-time", "10"], capture_output=True, text=True, timeout=15) code = rr.stdout.strip() assert code == "200", f"SMOKETEST FAIL: {page} returned {code}" print(f"SMOKETEST {page}: {code}") print("\nALL VERIFY CHECKS PASSED") sys.exit(0)