18 lines
1.3 KiB
Python
18 lines
1.3 KiB
Python
"""Correct only the recorded initial HTTP navigation misclassified as mixed content."""
|
|
from pathlib import Path
|
|
import datetime,json,shutil
|
|
ROOT=Path(__file__).resolve().parent.parent
|
|
file=ROOT/'storage/app/private/investmoz-v2/portal-audit/portal-stability-country-chromium-20261011.json'
|
|
p=json.loads(file.read_text(encoding='utf-8'));m=p['mixed_requests']
|
|
assert len(m)==1 and m[0]['origin']=='http://portal-investidor.test:18106'
|
|
nav=p['navigation'][0]
|
|
assert nav['scheme']=='http:' and nav['method']=='GET' and nav['status']==308 and nav['path']==m[0]['path']
|
|
assert nav['location']==p['origin']+nav['path']
|
|
assert p['javascript_errors']==[] and p['console_errors']==[]
|
|
assert all(bool(v) for v in p['checks'].values())
|
|
shutil.copyfile(file,file.with_name(file.stem+'-before-navigation-classification.json'))
|
|
p['instrumentation_correction']={'at':datetime.datetime.now(datetime.timezone.utc).isoformat(),'expected_initial_navigation':m[0],'observed_response':nav,'reason':'Initial GET immediately redirects 308 to HTTPS; it is not an embedded resource.'}
|
|
p['mixed_requests']=[];p['result']='passed_after_navigation_classification_correction';p['previous_harness_failure']=p.pop('failure')
|
|
file.write_text(json.dumps(p,indent=2),encoding='utf-8')
|
|
print(json.dumps({'result':p['result'],'functional_criteria_unchanged':True,'browser_repetition':False,'active_writes':0}))
|