github.com/vipernet-xyz/tm@v0.34.24/cmd/tendermint/commands/reset_test.go (about)

     1  package commands
     2  
     3  import (
     4  	"path/filepath"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  
     9  	cfg "github.com/vipernet-xyz/tm/config"
    10  	"github.com/vipernet-xyz/tm/privval"
    11  )
    12  
    13  func Test_ResetAll(t *testing.T) {
    14  	config := cfg.TestConfig()
    15  	dir := t.TempDir()
    16  	config.SetRoot(dir)
    17  	cfg.EnsureRoot(dir)
    18  	require.NoError(t, initFilesWithConfig(config))
    19  	pv := privval.LoadFilePV(config.PrivValidatorKeyFile(), config.PrivValidatorStateFile())
    20  	pv.LastSignState.Height = 10
    21  	pv.Save()
    22  	require.NoError(t, resetAll(config.DBDir(), config.P2P.AddrBookFile(), config.PrivValidatorKeyFile(),
    23  		config.PrivValidatorStateFile(), logger))
    24  	require.DirExists(t, config.DBDir())
    25  	require.NoFileExists(t, filepath.Join(config.DBDir(), "block.db"))
    26  	require.NoFileExists(t, filepath.Join(config.DBDir(), "state.db"))
    27  	require.NoFileExists(t, filepath.Join(config.DBDir(), "evidence.db"))
    28  	require.NoFileExists(t, filepath.Join(config.DBDir(), "tx_index.db"))
    29  	require.FileExists(t, config.PrivValidatorStateFile())
    30  	pv = privval.LoadFilePV(config.PrivValidatorKeyFile(), config.PrivValidatorStateFile())
    31  	require.Equal(t, int64(0), pv.LastSignState.Height)
    32  }
    33  
    34  func Test_ResetState(t *testing.T) {
    35  	config := cfg.TestConfig()
    36  	dir := t.TempDir()
    37  	config.SetRoot(dir)
    38  	cfg.EnsureRoot(dir)
    39  	require.NoError(t, initFilesWithConfig(config))
    40  	pv := privval.LoadFilePV(config.PrivValidatorKeyFile(), config.PrivValidatorStateFile())
    41  	pv.LastSignState.Height = 10
    42  	pv.Save()
    43  	require.NoError(t, resetState(config.DBDir(), logger))
    44  	require.DirExists(t, config.DBDir())
    45  	require.NoFileExists(t, filepath.Join(config.DBDir(), "block.db"))
    46  	require.NoFileExists(t, filepath.Join(config.DBDir(), "state.db"))
    47  	require.NoFileExists(t, filepath.Join(config.DBDir(), "evidence.db"))
    48  	require.NoFileExists(t, filepath.Join(config.DBDir(), "tx_index.db"))
    49  	require.FileExists(t, config.PrivValidatorStateFile())
    50  	pv = privval.LoadFilePV(config.PrivValidatorKeyFile(), config.PrivValidatorStateFile())
    51  	// private validator state should still be in tact.
    52  	require.Equal(t, int64(10), pv.LastSignState.Height)
    53  }