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

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