18 lines
680 B
Python
18 lines
680 B
Python
from sir import NodeKind, SemanticNode, SirSnapshot, SourceRef, snapshot_from_json, snapshot_to_json
|
|
|
|
|
|
def test_snapshot_serialization_roundtrip():
|
|
node = SemanticNode(
|
|
semantic_id="module.demo",
|
|
lineage_id="lineage.module.demo",
|
|
kind=NodeKind.MODULE,
|
|
name="Module",
|
|
qualified_name="Module",
|
|
source_ref=SourceRef(source_path="module.bsl"),
|
|
)
|
|
snapshot = SirSnapshot(snapshot_id="snapshot.demo", project_id="demo", nodes=[node])
|
|
data = snapshot_to_json(snapshot)
|
|
restored = snapshot_from_json(data)
|
|
assert restored.snapshot_id == snapshot.snapshot_id
|
|
assert restored.nodes[0].lineage_id == node.lineage_id
|