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['actor_tenant'] and c['resource_tenant']
    assert c['verified_context'] in {'A','B'}
    assert isinstance(c['api_ok'],bool)
    for k in ['db_scope_ok','cache_namespace_ok','queue_context_ok','storage_prefix_ok']:
        assert c[k] in {True,False,None}
    assert isinstance(c['exposure_observed'],bool)
    assert 'post_storage_prefix_ok' in c and 'post_cache_namespace_ok' in c
print('PASS learner fixtures: 8 synthetic tenant-isolation cases')
