#!/usr/bin/env python3 # SPDX-License-Identifier: MPL-2.0 """Qualify Nokia Wi-Fi in an active manual trial using its saved network. Briefly disconnects Wi-Fi, restores it in finally, and checks HTTPS access. Does not read passwords, delete saved networks, call, send SMS or flash. """ import argparse import importlib.util import json from pathlib import Path import time import uuid spec=importlib.util.spec_from_file_location('controls',Path(__file__).with_name('test-beatles-controls.py')) controls=importlib.util.module_from_spec(spec);spec.loader.exec_module(controls) def probe(app,script): ident=uuid.uuid4().hex controls.publish('manual-request.json',{'id':ident,'app':app,'script':script}) deadline=time.monotonic()+38 while time.monotonic()n.connected && n.known);if(!n)throw Error("No saved association");await m.associate(n);return true;') until('return !!(await VulpesCompat.call("platform.wifi",{operation:"status"})).connectionInformation?.ipAddress;') report['httpsAfterReconnect']=probe('system','const r=await fetch("https://example.com/?vulpes-wifi-test="+Date.now(),{mode:"no-cors",cache:"no-store",signal:AbortSignal.timeout(15000)});return r.type==="opaque";') finally: power(True) args.output.parent.mkdir(parents=True,exist_ok=True) args.output.write_text(json.dumps(report,indent=2)+'\n') print(json.dumps(report,indent=2)) if __name__=='__main__':main()