github.com/Finschia/finschia-sdk@v0.49.1/store/mem/mem_test.go (about)

     1  package mem_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	"github.com/Finschia/finschia-sdk/store/cachekv"
     9  	"github.com/Finschia/finschia-sdk/store/mem"
    10  	"github.com/Finschia/finschia-sdk/store/types"
    11  )
    12  
    13  func TestStore(t *testing.T) {
    14  	db := mem.NewStore()
    15  	key, value := []byte("key"), []byte("value")
    16  
    17  	require.Equal(t, types.StoreTypeMemory, db.GetStoreType())
    18  
    19  	require.Nil(t, db.Get(key))
    20  	db.Set(key, value)
    21  	require.Equal(t, value, db.Get(key))
    22  
    23  	newValue := []byte("newValue")
    24  	db.Set(key, newValue)
    25  	require.Equal(t, newValue, db.Get(key))
    26  
    27  	db.Delete(key)
    28  	require.Nil(t, db.Get(key))
    29  
    30  	cacheWrapper := db.CacheWrap()
    31  	require.IsType(t, &cachekv.Store{}, cacheWrapper)
    32  
    33  	cacheWrappedWithTrace := db.CacheWrapWithTrace(nil, nil)
    34  	require.IsType(t, &cachekv.Store{}, cacheWrappedWithTrace)
    35  
    36  	cacheWrappedWithListeners := db.CacheWrapWithListeners(nil, nil)
    37  	require.IsType(t, &cachekv.Store{}, cacheWrappedWithListeners)
    38  }
    39  
    40  func TestCommit(t *testing.T) {
    41  	db := mem.NewStore()
    42  	key, value := []byte("key"), []byte("value")
    43  
    44  	db.Set(key, value)
    45  	id := db.Commit()
    46  	require.True(t, id.IsZero())
    47  	require.True(t, db.LastCommitID().IsZero())
    48  	require.Equal(t, value, db.Get(key))
    49  }