github.com/celestiaorg/celestia-node@v0.15.0-beta.1/nodebuilder/share/share_test.go (about) 1 package share 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/ipfs/go-datastore" 8 ds_sync "github.com/ipfs/go-datastore/sync" 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 12 "github.com/celestiaorg/celestia-node/share" 13 "github.com/celestiaorg/celestia-node/share/eds" 14 ) 15 16 func Test_EmptyCARExists(t *testing.T) { 17 ctx, cancel := context.WithCancel(context.Background()) 18 t.Cleanup(cancel) 19 20 ds := ds_sync.MutexWrap(datastore.NewMapDatastore()) 21 edsStore, err := eds.NewStore(eds.DefaultParameters(), t.TempDir(), ds) 22 require.NoError(t, err) 23 err = edsStore.Start(ctx) 24 require.NoError(t, err) 25 26 eds := share.EmptyExtendedDataSquare() 27 dah, err := share.NewRoot(eds) 28 require.NoError(t, err) 29 30 // add empty EDS to store 31 err = ensureEmptyCARExists(ctx, edsStore) 32 assert.NoError(t, err) 33 34 // assert that the empty car exists 35 has, err := edsStore.Has(ctx, dah.Hash()) 36 assert.True(t, has) 37 assert.NoError(t, err) 38 39 // assert that the empty car is, in fact, empty 40 emptyEds, err := edsStore.Get(ctx, dah.Hash()) 41 assert.Equal(t, eds.Flattened(), emptyEds.Flattened()) 42 assert.NoError(t, err) 43 }