18 lines
681 B
Python
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
|