File size: 1,116 Bytes
b0f65a7
72aa48b
 
 
 
 
 
 
 
 
b0f65a7
72aa48b
 
 
 
b0f65a7
 
72aa48b
 
 
 
 
 
 
b0f65a7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from fastapi.testclient import TestClient
from variantllm.api.main import app

client = TestClient(app)

def test_health_endpoint():
    response = client.get("/health")
    assert response.status_code == 200
    data = response.json()
    assert data["status"] == "healthy"
    assert "foundation_model" in data

def test_predict_endpoint():
    payload = {
        "gene_symbol": "TP53",
        "wildtype_seq": "MEEPQSDPSVEPPLSQETFSDLWKLLPENNVLSPLPSQAMDDLMLSPDDIEQWFTEDPGPDEAPRMPEAAPPVAPAPAAPTPAAPAPAPSWPLSSSVPSQKTYQGSYGFRLGFLHSGTAKSVTCTYSPALNKMFCQLAKTCPVQLWVDSTPPPGTRVRAMAIYKQSQHMTEVVRRCPHHERCSDSD",
        "mutant_seq": "MEEPQSDPSVEPPLSQETFSDLWKLLPENNVLSPLPSQAMDDLMLSPDDIEQWFTEDPGPDEAPRMPEAAPPVAPAPAAPTPAAPAPAPSWPLSSSVPSQKTYQGSYGFRLGFLHSGTAKSVTCTYSPALNKMFCQLAKTCPVQLWVDSTPPPGTHVRAMAIYKQSQHMTEVVRRCPHHERCSDSD",
        "variant_annotation": "p.Arg175His"
    }
    response = client.post("/predict/variant", json=payload)
    assert response.status_code == 200
    data = response.json()
    assert "prediction" in data
    assert "pathogenicity_probability" in data
    assert "zero_shot_llr_delta" in data