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 }