github.com/Finschia/finschia-sdk@v0.48.1/x/genutil/client/testutil/migrate.go (about) 1 package testutil 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 "github.com/Finschia/finschia-sdk/testutil" 9 clitestutil "github.com/Finschia/finschia-sdk/testutil/cli" 10 "github.com/Finschia/finschia-sdk/x/genutil/client/cli" 11 ) 12 13 func TestGetMigrationCallback(t *testing.T) { 14 for _, version := range cli.GetMigrationVersions() { 15 require.NotNil(t, cli.GetMigrationCallback(version)) 16 } 17 } 18 19 func (s *IntegrationTestSuite) TestMigrateGenesis() { 20 val0 := s.network.Validators[0] 21 22 testCases := []struct { 23 name string 24 genesis string 25 target string 26 expErr bool 27 expErrMsg string 28 check func(jsonOut string) 29 }{ 30 { 31 "migrate 0.42 to 0.43(result error)", 32 v040Valid, 33 "v0.43", 34 true, "", 35 nil, 36 }, 37 } 38 39 for _, tc := range testCases { 40 tc := tc 41 s.Run(tc.name, func() { 42 genesisFile := testutil.WriteToNewTempFile(s.T(), tc.genesis) 43 jsonOutput, err := clitestutil.ExecTestCLICmd(val0.ClientCtx, cli.MigrateGenesisCmd(), []string{tc.target, genesisFile.Name()}) 44 if tc.expErr { 45 s.Require().Contains(err.Error(), tc.expErrMsg) 46 } else { 47 s.Require().NoError(err) 48 tc.check(jsonOutput.String()) 49 } 50 }) 51 } 52 }