github.com/storacha/go-ucanto@v0.7.2/core/receipt/datamodel/archive_test.go (about) 1 package datamodel_test 2 3 import ( 4 "testing" 5 6 "github.com/ipfs/go-cid" 7 cidlink "github.com/ipld/go-ipld-prime/linking/cid" 8 "github.com/storacha/go-ucanto/core/ipld/block" 9 "github.com/storacha/go-ucanto/core/ipld/codec/cbor" 10 "github.com/storacha/go-ucanto/core/ipld/hash/sha256" 11 adm "github.com/storacha/go-ucanto/core/receipt/datamodel" 12 ) 13 14 func TestArchiveEncodeDecode(t *testing.T) { 15 l := cidlink.Link{Cid: cid.MustParse("bafkreiem4twkqzsq2aj4shbycd4yvoj2cx72vezicletlhi7dijjciqpui")} 16 m0 := adm.ArchiveModel{ 17 UcanReceipt0_9_1: l, 18 } 19 mblk, err := block.Encode(&m0, adm.ArchiveType(), cbor.Codec, sha256.Hasher) 20 if err != nil { 21 t.Fatalf("encoding archive model: %s", err) 22 } 23 24 m1 := adm.ArchiveModel{} 25 err = block.Decode(mblk, &m1, adm.ArchiveType(), cbor.Codec, sha256.Hasher) 26 if err != nil { 27 t.Fatalf("decoding agent message: %s", err) 28 } 29 30 d1 := m1.UcanReceipt0_9_1 31 if d1.String() != l.String() { 32 t.Fatalf("failed round trip link") 33 } 34 }