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"]