2020-07-22 09:22:00 -07:00
|
|
|
package keeper_test
|
|
|
|
|
|
|
|
import (
|
2020-09-18 04:08:24 -07:00
|
|
|
"path/filepath"
|
2020-07-22 09:22:00 -07:00
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/suite"
|
|
|
|
|
|
|
|
"github.com/cosmos/cosmos-sdk/simapp"
|
|
|
|
store "github.com/cosmos/cosmos-sdk/store/types"
|
|
|
|
"github.com/cosmos/cosmos-sdk/x/upgrade/keeper"
|
|
|
|
"github.com/cosmos/cosmos-sdk/x/upgrade/types"
|
|
|
|
)
|
|
|
|
|
|
|
|
type KeeperTestSuite struct {
|
|
|
|
suite.Suite
|
|
|
|
|
|
|
|
homeDir string
|
|
|
|
app *simapp.SimApp
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *KeeperTestSuite) SetupTest() {
|
|
|
|
app := simapp.Setup(false)
|
2020-09-18 04:08:24 -07:00
|
|
|
homeDir := filepath.Join(s.T().TempDir(), "x_upgrade_keeper_test")
|
|
|
|
app.UpgradeKeeper = keeper.NewKeeper( // recreate keeper in order to use a custom home path
|
2020-07-22 09:22:00 -07:00
|
|
|
make(map[int64]bool), app.GetKey(types.StoreKey), app.AppCodec(), homeDir,
|
|
|
|
)
|
2020-09-18 04:08:24 -07:00
|
|
|
s.T().Log("home dir:", homeDir)
|
2020-07-22 09:22:00 -07:00
|
|
|
s.homeDir = homeDir
|
|
|
|
s.app = app
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *KeeperTestSuite) TestReadUpgradeInfoFromDisk() {
|
|
|
|
// require no error when the upgrade info file does not exist
|
|
|
|
_, err := s.app.UpgradeKeeper.ReadUpgradeInfoFromDisk()
|
|
|
|
s.Require().NoError(err)
|
|
|
|
|
|
|
|
expected := store.UpgradeInfo{
|
|
|
|
Name: "test_upgrade",
|
|
|
|
Height: 100,
|
|
|
|
}
|
|
|
|
|
|
|
|
// create an upgrade info file
|
|
|
|
s.Require().NoError(s.app.UpgradeKeeper.DumpUpgradeInfoToDisk(expected.Height, expected.Name))
|
|
|
|
|
|
|
|
ui, err := s.app.UpgradeKeeper.ReadUpgradeInfoFromDisk()
|
|
|
|
s.Require().NoError(err)
|
|
|
|
s.Require().Equal(expected, ui)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestKeeperTestSuite(t *testing.T) {
|
|
|
|
suite.Run(t, new(KeeperTestSuite))
|
|
|
|
}
|