from pathlib import Path
import json
R=Path(__file__).resolve().parent
cases=json.loads((R/'fixtures/cases.json').read_text(encoding='utf-8'))['cases']
assert len(cases)==8
for c in cases:
    assert c['id'] and c['signal']
    for k in ['authenticator','session','token','recovery','post_authenticator','post_session','post_token','post_recovery']:
        assert isinstance(c[k],str) and c[k]
    assert isinstance(c['evidence_complete'],bool) and isinstance(c['post_evidence_complete'],bool)
print('PASS learner fixtures: 8 synthetic credential-compromise cases')
