46 lines
962 B
Go
46 lines
962 B
Go
package blockstore
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
blocks "github.com/ipfs/go-block-format"
|
|
"github.com/ipfs/go-cid"
|
|
mh "github.com/multiformats/go-multihash"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestMemGetCodec(t *testing.T) {
|
|
ctx := context.Background()
|
|
bs := NewMemory()
|
|
|
|
cborArr := []byte{0x82, 1, 2}
|
|
|
|
h, err := mh.Sum(cborArr, mh.SHA2_256, -1)
|
|
require.NoError(t, err)
|
|
|
|
rawCid := cid.NewCidV1(cid.Raw, h)
|
|
rawBlk, err := blocks.NewBlockWithCid(cborArr, rawCid)
|
|
require.NoError(t, err)
|
|
|
|
err = bs.Put(ctx, rawBlk)
|
|
require.NoError(t, err)
|
|
|
|
cborCid := cid.NewCidV1(cid.DagCBOR, h)
|
|
|
|
cborBlk, err := bs.Get(ctx, cborCid)
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, cborCid.Prefix(), cborBlk.Cid().Prefix())
|
|
require.EqualValues(t, cborArr, cborBlk.RawData())
|
|
|
|
// was allocated
|
|
require.NotEqual(t, cborBlk, rawBlk)
|
|
|
|
gotRawBlk, err := bs.Get(ctx, rawCid)
|
|
require.NoError(t, err)
|
|
|
|
// not allocated
|
|
require.Equal(t, rawBlk, gotRawBlk)
|
|
}
|