15 lines
779 B
Python
15 lines
779 B
Python
from medimesh.contracts import AdapterContractBinding, ContractRegistry, DataContract, GovernancePolicy
|
|
|
|
|
|
def test_contract_registry_conformance_and_lineage() -> None:
|
|
registry = ContractRegistry()
|
|
contract = DataContract("inventory_snapshot", "1.0", ("site_id", "on_hand"), ("forecast_demand",))
|
|
policy = GovernancePolicy("humanitarian", "1.0")
|
|
registry.register_contract(contract)
|
|
registry.register_policy(policy)
|
|
registry.register_adapter(AdapterContractBinding("adapter", (contract.node_id,), (), (policy.node_id,)))
|
|
|
|
assert registry.conformance_check(contract.node_id, {"site_id": "a", "on_hand": 10, "forecast_demand": 8}) == []
|
|
assert contract.node_id in registry.lineage("adapter")
|
|
assert policy.node_id in registry.lineage("adapter")
|