import json import time from bexproof.policy import Policy, load_policy, evaluate_policy def test_policy_load_and_eval_pass(): policy_text = json.dumps({ "version": 1, "rules": { "price_improvement_min": 0.001, "latency_budget_ms": 10, }, }) policy = load_policy(policy_text) log = { "order_id": "ORD1", "venue": "VENUE1", "price": 100.5, "latency_ms": 5, "price_improvement": 0.002, "timestamp": int(time.time() * 1000), } assert evaluate_policy(log, policy) is True def test_policy_eval_fail_due_to_latency(): policy_text = json.dumps({ "version": 1, "rules": { "latency_budget_ms": 2, }, }) policy = load_policy(policy_text) log = { "order_id": "ORD2", "venue": "VENUE1", "latency_ms": 5, "price_improvement": 0.0005, "timestamp": int(time.time() * 1000), } assert evaluate_policy(log, policy) is False