import pathlib,json,sys
LAB=pathlib.Path(__file__).resolve().parents[1]; checks=[]
def c(n,x): checks.append((n,bool(x)))
pol=json.loads((LAB/'fixture/trust-policy.json').read_text()); req=json.loads((LAB/'requirements.json').read_text())
c('local',pol.get('local_only') is True); c('network',pol.get('network') is False); c('external_repo',pol.get('external_repository') is False); c('real_keys',pol.get('real_private_keys') is False); c('real_signing',pol.get('real_signing') is False); c('prod',pol.get('production_proof') is False); c('owner_blank',json.loads((LAB/'submission/decision.template.json').read_text()).get('owner_acceptance')==''); c('transfer_blank',json.loads((LAB/'transfer/changed-context.template.json').read_text()).get('final_decision')=='')
for n,ok in checks: print(('PASS' if ok else 'FAIL'),n)
print(f'SUMMARY {sum(ok for _,ok in checks)}/{len(checks)} PASS'); raise SystemExit(0 if all(ok for _,ok in checks) else 1)
