#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import annotations import argparse,json,unittest from pathlib import Path P=argparse.ArgumentParser();P.add_argument("--root",type=Path,required=True);ROOT=P.parse_args().root class Phase10DK(unittest.TestCase): @classmethod def setUpClass(cls):cls.data=json.loads((ROOT/"manifests/retroarch/phase-1.0dk-port-status-result.json").read_text()) def test_exact_observations(self):self.assertEqual([(x["port"],x["classification"],x["attempts"],x["timeout_seconds"]) for x in self.data["observations"]],[(2323,"REFUSED",1,3),(9021,"OPEN",1,3)]) def test_no_application_effect(self): e=self.data["effects"];self.assertEqual((e["application_bytes_sent"],e["application_bytes_received"]),(0,0));self.assertFalse(any(v for k,v in e.items() if k not in {"application_bytes_sent","application_bytes_received"})) def test_no_overclaim(self): i=self.data["interpretation"];self.assertTrue(i["elfldr_listener_observed"]);self.assertFalse(any(v for k,v in i.items() if k!="elfldr_listener_observed")) def test_authority_consumed(self): a=self.data["authorization_state"];self.assertTrue(a["dk_authorization_consumed"]);self.assertFalse(any(v for k,v in a.items() if k!="dk_authorization_consumed")) def test_next_is_offline(self):self.assertTrue(self.data["decision"]["offline_shsrv_artifact_provenance_audit_allowed"]);self.assertFalse(self.data["decision"]["device_action_allowed"]) if __name__=="__main__":unittest.main(argv=[__file__])