generated from coulomb/repo-seed
feat: version state hub fabric export contract
This commit is contained in:
@@ -8,6 +8,7 @@ from pathlib import Path
|
||||
|
||||
from railiance_fabric.cli import main as cli_main
|
||||
from railiance_fabric.graph import build_graph
|
||||
from railiance_fabric.financial import materialize_financial_graph_export
|
||||
from railiance_fabric.registry import (
|
||||
RESET_CONFIRMATION_TOKEN,
|
||||
RegistryError,
|
||||
@@ -21,6 +22,7 @@ from railiance_fabric.registry import (
|
||||
validate_graph_export,
|
||||
xregistry_projection,
|
||||
)
|
||||
from railiance_fabric.schema_validation import draft202012_validator
|
||||
from railiance_fabric.server import RegistryHandler
|
||||
|
||||
|
||||
@@ -261,6 +263,20 @@ def test_graph_export_validation_rejects_unflagged_display_edges() -> None:
|
||||
raise AssertionError("expected RegistryError for unflagged display-only edge")
|
||||
|
||||
|
||||
def test_state_hub_export_schema_accepts_legacy_and_financial_shapes() -> None:
|
||||
validator = draft202012_validator(Path("schemas/state-hub-export.schema.yaml"))
|
||||
legacy_graph = {
|
||||
"apiVersion": "railiance.fabric/v1alpha1",
|
||||
"kind": "FabricGraphExport",
|
||||
"nodes": [],
|
||||
"edges": [],
|
||||
}
|
||||
financial_graph = materialize_financial_graph_export(_financial_graph())
|
||||
|
||||
assert list(validator.iter_errors(legacy_graph)) == []
|
||||
assert list(validator.iter_errors(financial_graph)) == []
|
||||
|
||||
|
||||
def test_financial_graph_export_requires_resolvable_owner() -> None:
|
||||
graph = _financial_graph()
|
||||
del graph["nodes"][0]["ownership"]
|
||||
|
||||
Reference in New Issue
Block a user