Spaces:
Runtime error
Runtime error
| from fastapi.testclient import TestClient | |
| from app.main import app | |
| client = TestClient(app) | |
| def test_health_reports_mock_mode_by_default(): | |
| response = client.get("/health") | |
| assert response.status_code == 200 | |
| assert response.json()["status"] == "ok" | |
| assert response.json()["model_mode"] == "mock" | |
| def test_analyze_returns_research_disclaimer(): | |
| response = client.post( | |
| "/analyze", | |
| json={ | |
| "chromosome": "chr7", | |
| "position": 140753336, | |
| "reference": "A", | |
| "alternate": "T", | |
| "gene": "BRAF", | |
| "sequence_context": "ACGTACGTACGTA", | |
| }, | |
| ) | |
| assert response.status_code == 200 | |
| body = response.json() | |
| assert body["grch_build"] == "GRCh38" | |
| assert body["model_mode"] == "mock" | |
| assert body["risk_label"] in {"likely_benign", "uncertain", "likely_pathogenic"} | |
| assert 0 <= body["confidence"] <= 1 | |
| assert "research and education only" in body["disclaimer"].lower() | |
| assert body["input"]["chromosome"] == "7" | |
| def test_rejects_invalid_chromosome(): | |
| response = client.post( | |
| "/analyze", | |
| json={ | |
| "chromosome": "25", | |
| "position": 100, | |
| "reference": "A", | |
| "alternate": "C", | |
| }, | |
| ) | |
| assert response.status_code == 422 | |
| def test_rejects_same_reference_and_alternate(): | |
| response = client.post( | |
| "/analyze", | |
| json={ | |
| "chromosome": "1", | |
| "position": 100, | |
| "reference": "A", | |
| "alternate": "A", | |
| }, | |
| ) | |
| assert response.status_code == 422 | |