github.com/Oyster-zx/tendermint@v0.34.24-fork/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/tendermint/tendermint/config" 10 "github.com/tendermint/tendermint/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 }