Files
Jyotisha/tests/test_vedastro_contract_arbitrator.py
2026-07-17 17:52:30 +08:00

13 lines
790 B
Python

from scripts.vedastro_contract_arbitrator import arbitrate
def test_arbitrator_blocks_when_method_contract_changes_across_runs() -> None:
runs = [
{"contract_status": "blocked", "method_contract": {"status": "blocked"}, "time_contract": {"equivalent_local_utc": True}, "api_version_contract": {"status": "blocked"}, "normalized_vectors": {"x": {"Sun": 1}}},
{"contract_status": "blocked", "method_contract": {"status": "resolved"}, "time_contract": {"equivalent_local_utc": True}, "api_version_contract": {"status": "blocked"}, "normalized_vectors": {"x": {"Sun": 2}}},
]
report = arbitrate(runs)
assert report["status"] == "blocked"
assert report["cross_run_normalized_stable"] is False
assert report["method_statuses"] == ["blocked", "resolved"]