Add live acceptance smoke validation
This commit is contained in:
@@ -9,6 +9,7 @@ from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastapi.responses import FileResponse, StreamingResponse
|
||||
|
||||
from . import db
|
||||
from .acceptance import latest_acceptance_report, run_live_acceptance
|
||||
from .catalog import get_catalog
|
||||
from .config import settings
|
||||
from .coverage import get_coverage_report
|
||||
@@ -69,6 +70,16 @@ def api_coverage() -> dict:
|
||||
return get_coverage_report()
|
||||
|
||||
|
||||
@app.get("/api/acceptance/latest")
|
||||
def api_acceptance_latest() -> dict:
|
||||
return latest_acceptance_report()
|
||||
|
||||
|
||||
@app.post("/api/acceptance/smoke")
|
||||
def api_acceptance_smoke(base_url: str = "http://127.0.0.1:8010") -> dict:
|
||||
return run_live_acceptance(base_url)
|
||||
|
||||
|
||||
@app.get("/api/datasets")
|
||||
def api_datasets() -> list[dict]:
|
||||
return list_uploaded_datasets()
|
||||
@@ -163,7 +174,11 @@ def api_results() -> list[dict]:
|
||||
def api_artifact(artifact_path: str):
|
||||
candidate = Path(artifact_path)
|
||||
if not candidate.is_absolute():
|
||||
candidate = settings.source_root / candidate
|
||||
first_part = candidate.parts[0] if candidate.parts else ""
|
||||
if first_part in {"var", "weights"}:
|
||||
candidate = settings.project_root / candidate
|
||||
else:
|
||||
candidate = settings.source_root / candidate
|
||||
try:
|
||||
resolved = candidate.resolve()
|
||||
allowed = False
|
||||
|
||||
Reference in New Issue
Block a user