idea182-implementation/tests/test_delta_synopsis.py

26 lines
905 B
Python

from gravityweave.delta_synopsis import build_priority_key, build_synopsis, serialize_synopsis, deserialize_synopsis
from gravityweave.plan_delta import PlanDelta
def test_build_priority_key_valid():
key = build_priority_key(3, 10)
assert isinstance(key, int)
assert key == (3 << 4) | 10
def test_build_synopsis_and_serialization():
pd = PlanDelta()
pd.commitments.add({"id": "x", "type": "downlink"})
pd.priority.write(5)
syn = build_synopsis(pd, parent_version="v0", urgency_score=2, impact_score=7, affected_assets=["satA"], signer="node1", key=b"secret")
assert "delta_id" in syn
assert syn["parent_version"] == "v0"
assert isinstance(syn["priority_key"], int)
assert syn["affected_assets"] == ["satA"]
assert syn["short_sig"] != ""
b = serialize_synopsis(syn)
syn2 = deserialize_synopsis(b)
assert syn2["delta_id"] == syn["delta_id"]