#!/usr/bin/env python3
import json
from pathlib import Path
root=Path(__file__).parent
summary={'passed':True,'DB_queries':0,'workers':{},'raw_preserved':True,'protected_original_services_alive':True}
for lane,pid,port in [('B',99408,18321),('C',1939876,18322)]:
    records=[json.loads(line)for line in (root/'cleanup-private-evidence'/(lane+'-cleanup.jsonl')).read_text().splitlines()]
    assert all(r['kind']!='stopped'for r in records)
    final=records[-1]['data'];assert records[-1]['kind']=='summary' and final['passed']
    assert final['worker_stopped'] and final['port_closed'] and final['protected_original_parent_alive']
    assert final['raw_before']==final['raw_after'] and not any(final['sensitive_targets_remaining'].values())
    assert final['DB_queries']==0
    summary['workers'][lane]={'pid':pid,'port':port,'stopped':True,'sensitive_targets_remaining':0,'raw_files':final['raw_before']['files'],'raw_sha256':final['raw_before']['sha256'],'removed_source_files':final['removed']['source']['files']}
local=json.loads((root/'cleanup-private-evidence/local-archive.json').read_text())
assert local['remaining'] is False and local['bytes']==1482797
assert '20770' in local['protected_local_processes'] and '43014' in local['protected_local_processes']
summary['local_source_archive_removed']=True
print(json.dumps(summary,ensure_ascii=False,indent=2))
