from core.contracts import ContractRegistry def test_contract_registry_basic_operations(): reg = ContractRegistry() # initially empty assert reg.list_contracts() == {} # add a contract and verify retrieval reg.add_contract("LocalProblem", "v1", {"fields": ["asset_id", "payload"]}) c = reg.get_contract("LocalProblem", "v1") assert c is not None assert c.name == "LocalProblem" # type: ignore[attr-defined] assert c.version == "v1" # type: ignore[attr-defined] assert c.schema["fields"] == ["asset_id", "payload"] # type: ignore[attr-defined] # unknown contract should return None assert reg.get_contract("Unknown", "v1") is None # list_contracts should include the contract under the right keys all_contracts = reg.list_contracts() assert "LocalProblem" in all_contracts assert "v1" in all_contracts["LocalProblem"]