from idea199_replicasurety_economic_surety.schemas import ReplayBundle from idea199_replicasurety_economic_surety.replay_verifier import canonical_hash, verify_bundle def make_bundle(metrics, invariants): monitors = [{"name": "m0", "invariants": invariants}] payload = {"trace": [], "metrics": metrics, "monitors": monitors} root = canonical_hash(payload) b = ReplayBundle(bundle_id="t", trace=[], metrics=metrics, monitors=monitors, evidence_root=root) return b def test_verifier_no_breach(): b = make_bundle({"cpu": 0.2}, ["cpu < 0.8"]) breach, msg = verify_bundle(b) assert breach is False def test_verifier_breach(): b = make_bundle({"cpu": 0.9}, ["cpu < 0.8"]) breach, msg = verify_bundle(b) assert breach is True assert "invariant breached" in msg