import json,os,pathlib
from runtime import R,g,C,plan,built,api,cmd
os.umask(0o077)
def main():
 d=json.loads((R/'run.json').read_text());assert d['final']['success']
 c=g.inspect();assert c['Image']==built['image_id'] and c['State']['Health']['Status']=='healthy'
 assert api('/api/v1/streams')[1]['streams'][0]['state']=='stopped'
 assert c['HostConfig']['RestartPolicy']==plan['analytics']['HostConfig']['RestartPolicy']
 cfg=g.yaml.safe_load((C/'compose.yaml').read_text())
 assert cfg['services']['analytics']['image']==built['image_id']
 assert cfg['services']['analytics']['environment']['CONTEXTRA_TEST_FRAME_ANCHOR_FILE']==''
 actual=dict(x.split('=',1) for x in c['Config']['Env'])
 for k in ('REDIS_URL','CONTEXTRA_METADATA_REDIS_URL','CONTEXTRA_METADATA_ENABLED'):
  assert actual[k]==cfg['services']['analytics']['environment'][k]
 assert actual['CONTEXTRA_TEST_FRAME_ANCHOR_FILE']=='/run/contextra-test-anchor.json'
 assert g.others()==plan['other_containers']
 assert g.sha(g.CFG)==plan['config_hash'] and g.sha(g.CFG.parent/'2/model.plan')==plan['plan_hash']
 assert not (R/'visual/capture.enabled').exists()
 cmd(['python3',str(C/'firewall.py'),'check'])
 text=(R/'runtime.private.log').read_text()
 assert all(v not in text for v in json.loads((C/'secrets.json').read_text()).values())
 out=dict(analytics='healthy',stream='stopped',image=built['image_id'],display_score=.1,
  metadata_auth_lan_preserved=True,model_non_targets_preserved=True,restart_restored=True,capture_off=True,
  synthetic_anchor='RETAIN current test container; disabled in default persistent compose',raw_rtp='DEFERRED',
  time_calculation_wrap='NOT_IMPLEMENTED_WITHOUT_RAW_RTP',gpu_mib=g.gpu())
 (R/'final.json').write_text(json.dumps(out,indent=2));print(json.dumps(out))
if __name__=='__main__':main()
