cosmos-sdk/server/mock/store_test.go
Likhita Polavarapu 7559d9ecd3
refactor: create go.mod for store (#14746)
Co-authored-by: Marko <marbar3778@yahoo.com>
2023-01-25 13:31:56 +00:00

36 lines
832 B
Go

package mock
import (
"testing"
dbm "github.com/cosmos/cosmos-db"
"github.com/stretchr/testify/require"
storetypes "cosmossdk.io/store/types"
)
func TestStore(t *testing.T) {
db := dbm.NewMemDB()
cms := NewCommitMultiStore()
key := storetypes.NewKVStoreKey("test")
cms.MountStoreWithDB(key, storetypes.StoreTypeIAVL, db)
err := cms.LoadLatestVersion()
require.Nil(t, err)
store := cms.GetKVStore(key)
require.NotNil(t, store)
k := []byte("hello")
v := []byte("world")
require.False(t, store.Has(k))
store.Set(k, v)
require.True(t, store.Has(k))
require.Equal(t, v, store.Get(k))
store.Delete(k)
require.False(t, store.Has(k))
require.Panics(t, func() { store.Set([]byte(""), v) }, "setting an empty key should panic")
require.Panics(t, func() { store.Set(nil, v) }, "setting a nil key should panic")
}