from content_addressable import (
ContentId,
content_id,
from_canonical_dagcbor,
to_canonical_dagcbor,
)
def test_readme_python_example():
record = {"name": "alpha", "attrs": {}}
cid = content_id(record)
assert str(cid).startswith("b")
assert len(cid.digest_hex()) == 64
assert isinstance(to_canonical_dagcbor(record), bytes)
raw = to_canonical_dagcbor(record)
assert content_id(record) == ContentId.from_canonical_bytes(raw)
assert from_canonical_dagcbor(raw) == record
assert content_id({"attrs": {}, "name": "alpha"}) == cid
assert ContentId.parse(str(cid)) == cid
assert ContentId.from_bytes(cid.to_bytes()) == cid
assert ContentId.from_blake3_content_digest(cid.digest_bytes()) == cid
assert len(cid.digest_bytes()) == 32