Spaces:
Build error
Build error
File size: 1,791 Bytes
c29f1fd | 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | from __future__ import annotations
from fastapi.testclient import TestClient
from triage import CodeTriageEngine, HashingEmbeddingBackend
from triage_catalog import build_examples
def test_hashing_backend_returns_normalized_embeddings() -> None:
backend = HashingEmbeddingBackend(dimensions=32)
embeddings = backend.embed_texts(["def foo():\n return 1", "for x in items:\n pass"])
assert embeddings.shape == (2, 32)
for row in embeddings:
assert round(float(row.norm().item()), 5) == 1.0
def test_examples_map_to_expected_labels_with_fallback_backend() -> None:
examples = build_examples()
engine = CodeTriageEngine(backend=HashingEmbeddingBackend())
for example in examples:
result = engine.triage(example.code, example.traceback_text, example.context_window)
assert result.issue_label == example.label
assert 0.0 <= result.reward_score <= 1.0
def test_syntax_example_exposes_parser_signal() -> None:
example = next(item for item in build_examples() if item.label == "syntax")
engine = CodeTriageEngine(backend=HashingEmbeddingBackend())
result = engine.triage(example.code, example.traceback_text, example.context_window)
assert any(signal.name == "syntax_parse" and signal.value == "fails" for signal in result.extracted_signals)
assert result.matched_pattern.task_id == example.task_id
assert result.repair_plan[0].startswith("Step 1 - Syntax checking and bug fixes")
def test_composed_app_preserves_health_route() -> None:
from server.app import build_application
client = TestClient(build_application())
response = client.get("/health")
assert response.status_code == 200
assert response.json()["status"] == "ok"
|