File size: 850 Bytes
12496fc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import json
import pytest
from nexora.failures import FailureStore
def test_failure_admission_requires_evidence(tmp_path):
s = FailureStore(tmp_path)
with pytest.raises(PermissionError):
s.capture("code", "Incorrect output", "local test")
rid = s.capture("code", "Incorrect output", "original synthetic test", consent=True)
with pytest.raises(ValueError):
s.advance(rid, "candidate", "skip validation", training_approved=True)
for stage in ["classified", "reproduced", "minimized", "test_added"]:
s.advance(rid, stage, "Independent test record")
with pytest.raises(PermissionError):
s.advance(rid, "candidate", "Test evidence")
s.advance(rid, "candidate", "Provenance reviewed", training_approved=True)
assert json.loads((tmp_path / (rid + ".json")).read_text())["training_approved"]
|