github.com/cosmos/cosmos-sdk@v0.50.10/server/mock/store_test.go (about)

     1  package mock
     2  
     3  import (
     4  	"testing"
     5  
     6  	dbm "github.com/cosmos/cosmos-db"
     7  	"github.com/stretchr/testify/require"
     8  
     9  	storetypes "cosmossdk.io/store/types"
    10  )
    11  
    12  func TestStore(t *testing.T) {
    13  	db := dbm.NewMemDB()
    14  
    15  	cms := NewCommitMultiStore()
    16  
    17  	key := storetypes.NewKVStoreKey("test")
    18  	cms.MountStoreWithDB(key, storetypes.StoreTypeIAVL, db)
    19  	err := cms.LoadLatestVersion()
    20  	require.Nil(t, err)
    21  
    22  	store := cms.GetKVStore(key)
    23  	require.NotNil(t, store)
    24  
    25  	k := []byte("hello")
    26  	v := []byte("world")
    27  	require.False(t, store.Has(k))
    28  	store.Set(k, v)
    29  	require.True(t, store.Has(k))
    30  	require.Equal(t, v, store.Get(k))
    31  	store.Delete(k)
    32  	require.False(t, store.Has(k))
    33  	require.Panics(t, func() { store.Set([]byte(""), v) }, "setting an empty key should panic")
    34  	require.Panics(t, func() { store.Set(nil, v) }, "setting a nil key should panic")
    35  }