github.com/Finschia/finschia-sdk@v0.48.1/store/iavl/tree_test.go (about) 1 package iavl 2 3 import ( 4 "testing" 5 6 "github.com/cosmos/iavl" 7 "github.com/stretchr/testify/require" 8 dbm "github.com/tendermint/tm-db" 9 ) 10 11 func TestImmutableTreePanics(t *testing.T) { 12 t.Parallel() 13 immTree := iavl.NewImmutableTree(dbm.NewMemDB(), 100, false) 14 it := &immutableTree{immTree} 15 require.Panics(t, func() { it.Set([]byte{}, []byte{}) }) 16 require.Panics(t, func() { it.Remove([]byte{}) }) 17 require.Panics(t, func() { it.SaveVersion() }) // nolint:errcheck 18 require.Panics(t, func() { it.DeleteVersion(int64(1)) }) // nolint:errcheck 19 20 val, proof, err := it.GetVersionedWithProof(nil, 1) 21 require.Error(t, err) 22 require.Nil(t, val) 23 require.Nil(t, proof) 24 25 imm, err := it.GetImmutable(1) 26 require.Error(t, err) 27 require.Nil(t, imm) 28 29 imm, err = it.GetImmutable(0) 30 require.NoError(t, err) 31 require.NotNil(t, imm) 32 require.Equal(t, immTree, imm) 33 }