devkit / app /tools /test_forge /routes.py
Mohammed AL Sarraj
initial deploy
950dcd2
"""Test Forge routes."""
from flask import Blueprint, render_template, request, jsonify
from .forge import generate_tests
bp = Blueprint("test_forge", __name__, template_folder="templates")
SUPPORTED_FRAMEWORKS = {
"TypeScript / Jest",
"Python / pytest",
"JavaScript / Mocha",
"Java / JUnit",
"Go / testing",
"Ruby / RSpec",
"PHP / PHPUnit",
"C# / xUnit",
}
@bp.route("/")
def index():
return render_template("test_forge/index.html")
@bp.route("/api/generate", methods=["POST"])
def api_generate():
body = request.get_json(silent=True) or {}
source_code = (body.get("source_code") or "").strip()
framework = (body.get("framework") or "Python / pytest").strip()
instructions = (body.get("instructions") or "").strip()
if not source_code:
return jsonify({"error": "source_code is required — paste your code"}), 400
if len(source_code) < 20:
return jsonify({"error": "Source code too short — paste a real function or class"}), 400
if framework not in SUPPORTED_FRAMEWORKS:
return jsonify({"error": f"Unsupported framework: {framework}"}), 400
result = generate_tests(source_code, framework, instructions)
if not result:
return jsonify({"error": "AI failed to generate tests — please try again"}), 502
return jsonify(result)