idea164-bexproof-verifiable.../tests/test_policy_blocks.py

18 lines
681 B
Python

import json
from bexproof.policy import load_policy, evaluate_policy
def test_policy_load_with_blocks_selects_latest_version():
policy_text = json.dumps({
"blocks": [
{"version": 1, "rules": {"latency_budget_ms": 5}},
{"version": 2, "rules": {"latency_budget_ms": 3, "price_improvement_min": 0.0005}},
]
})
policy = load_policy(policy_text)
assert policy.version == 2
assert policy.rules.get("latency_budget_ms") == 3
# Ensure evaluate_policy works with the loaded policy
log = {"order_id": "ORDX", "venue": "VENUEX", "latency_ms": 3, "price_improvement": 0.001}
assert evaluate_policy(log, policy) is True