Fix add-genesis-account in simd (#7069)

* Update genaccounts to use encoding/json

* Fix add genesis accounts

* Add test for genaccounts

* Code cleanup
This commit is contained in:
SaReN
2020-08-17 21:32:16 +00:00
committed by GitHub
parent d2de7a0441
commit 24bc89183e
7 changed files with 166 additions and 47 deletions
+4 -3
View File
@@ -1,4 +1,4 @@
package cli
package cli_test
import (
"context"
@@ -17,6 +17,7 @@ import (
"github.com/cosmos/cosmos-sdk/testutil/network"
sdk "github.com/cosmos/cosmos-sdk/types"
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
"github.com/cosmos/cosmos-sdk/x/genutil/client/cli"
"github.com/cosmos/cosmos-sdk/x/staking/types"
)
@@ -51,7 +52,7 @@ func (s *IntegrationTestSuite) TestGenTxCmd() {
dir, clean := testutil.NewTestCaseDir(s.T())
defer clean()
cmd := GenTxCmd(
cmd := cli.GenTxCmd(
simapp.ModuleBasics,
val.ClientCtx.TxConfig, banktypes.GenesisBalancesIterator{}, val.ClientCtx.HomeDir)
@@ -63,7 +64,7 @@ func (s *IntegrationTestSuite) TestGenTxCmd() {
genTxFile := filepath.Join(dir, "myTx")
cmd.SetArgs([]string{
fmt.Sprintf("--%s=%s", flagChainID, s.network.Config.ChainID),
fmt.Sprintf("--%s=%s", flags.FlagChainID, s.network.Config.ChainID),
fmt.Sprintf("--%s=%s", flags.FlagOutputDocument, genTxFile),
val.Moniker,
})
+9 -32
View File
@@ -1,4 +1,4 @@
package cli
package cli_test
import (
"bytes"
@@ -12,7 +12,6 @@ import (
"github.com/spf13/viper"
"github.com/stretchr/testify/require"
abci_server "github.com/tendermint/tendermint/abci/server"
tmcfg "github.com/tendermint/tendermint/config"
"github.com/tendermint/tendermint/libs/cli"
"github.com/tendermint/tendermint/libs/log"
@@ -25,22 +24,12 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/module"
"github.com/cosmos/cosmos-sdk/x/genutil"
genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli"
genutiltest "github.com/cosmos/cosmos-sdk/x/genutil/client/testutil"
)
var testMbm = module.NewBasicManager(genutil.AppModuleBasic{})
func createDefaultTendermintConfig(rootDir string) (*tmcfg.Config, error) {
conf := tmcfg.DefaultConfig()
conf.SetRoot(rootDir)
tmcfg.EnsureRoot(rootDir)
if err := conf.ValidateBasic(); err != nil {
return nil, fmt.Errorf("error in config file: %v", err)
}
return conf, nil
}
func TestInitCmd(t *testing.T) {
tests := []struct {
name string
@@ -68,7 +57,7 @@ func TestInitCmd(t *testing.T) {
defer cleanup()
logger := log.NewNopLogger()
cfg, err := createDefaultTendermintConfig(home)
cfg, err := genutiltest.CreateDefaultTendermintConfig(home)
require.NoError(t, err)
serverCtx := server.NewContext(viper.New(), cfg, logger)
@@ -78,7 +67,7 @@ func TestInitCmd(t *testing.T) {
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
ctx = context.WithValue(ctx, server.ServerContextKey, serverCtx)
cmd := InitCmd(testMbm, home)
cmd := genutilcli.InitCmd(testMbm, home)
cmd.SetArgs(
tt.flags(home),
)
@@ -106,7 +95,7 @@ func TestEmptyState(t *testing.T) {
t.Cleanup(cleanup)
logger := log.NewNopLogger()
cfg, err := createDefaultTendermintConfig(home)
cfg, err := genutiltest.CreateDefaultTendermintConfig(home)
require.NoError(t, err)
serverCtx := server.NewContext(viper.New(), cfg, logger)
@@ -116,7 +105,7 @@ func TestEmptyState(t *testing.T) {
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
ctx = context.WithValue(ctx, server.ServerContextKey, serverCtx)
cmd := InitCmd(testMbm, home)
cmd := genutilcli.InitCmd(testMbm, home)
cmd.SetArgs([]string{"appnode-test", fmt.Sprintf("--%s=%s", cli.HomeFlag, home)})
require.NoError(t, cmd.ExecuteContext(ctx))
@@ -153,21 +142,9 @@ func TestStartStandAlone(t *testing.T) {
t.Cleanup(setupClientHome(t))
logger := log.NewNopLogger()
cfg, err := createDefaultTendermintConfig(home)
err := genutiltest.ExecInitCmd(testMbm, home, makeCodec())
require.NoError(t, err)
serverCtx := server.NewContext(viper.New(), cfg, logger)
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec()).WithHomeDir(home)
ctx := context.Background()
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
ctx = context.WithValue(ctx, server.ServerContextKey, serverCtx)
cmd := InitCmd(testMbm, home)
cmd.SetArgs([]string{"appnode-test"})
require.NoError(t, cmd.ExecuteContext(ctx))
app, err := mock.NewApp(home, logger)
require.NoError(t, err)
@@ -191,7 +168,7 @@ func TestStartStandAlone(t *testing.T) {
func TestInitNodeValidatorFiles(t *testing.T) {
home, cleanup := testutil.NewTestCaseDir(t)
cfg, err := createDefaultTendermintConfig(home)
cfg, err := genutiltest.CreateDefaultTendermintConfig(home)
t.Cleanup(cleanup)
nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(cfg)
require.Nil(t, err)
+4 -6
View File
@@ -11,6 +11,7 @@ import (
tmtypes "github.com/tendermint/tendermint/types"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/client/flags"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/version"
v036 "github.com/cosmos/cosmos-sdk/x/genutil/legacy/v0_36"
@@ -20,10 +21,7 @@ import (
"github.com/cosmos/cosmos-sdk/x/genutil/types"
)
const (
flagGenesisTime = "genesis-time"
flagChainID = "chain-id"
)
const flagGenesisTime = "genesis-time"
// Allow applications to extend and modify the migration process.
//
@@ -111,7 +109,7 @@ $ %s migrate v0.36 /path/to/genesis.json --chain-id=cosmoshub-3 --genesis-time=2
genDoc.GenesisTime = t
}
chainID, _ := cmd.Flags().GetString(flagChainID)
chainID, _ := cmd.Flags().GetString(flags.FlagChainID)
if chainID != "" {
genDoc.ChainID = chainID
}
@@ -132,7 +130,7 @@ $ %s migrate v0.36 /path/to/genesis.json --chain-id=cosmoshub-3 --genesis-time=2
}
cmd.Flags().String(flagGenesisTime, "", "override genesis_time with this flag")
cmd.Flags().String(flagChainID, "", "override chain_id with this flag")
cmd.Flags().String(flags.FlagChainID, "", "override chain_id with this flag")
return cmd
}
+5 -4
View File
@@ -1,4 +1,4 @@
package cli
package cli_test
import (
"context"
@@ -10,11 +10,12 @@ import (
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/testutil"
"github.com/cosmos/cosmos-sdk/x/genutil/client/cli"
)
func TestGetMigrationCallback(t *testing.T) {
for _, version := range GetMigrationVersions() {
require.NotNil(t, GetMigrationCallback(version))
for _, version := range cli.GetMigrationVersions() {
require.NotNil(t, cli.GetMigrationCallback(version))
}
}
@@ -27,7 +28,7 @@ func TestMigrateGenesis(t *testing.T) {
genesisPath := path.Join(home, "genesis.json")
target := "v0.36"
cmd := MigrateGenesisCmd()
cmd := cli.MigrateGenesisCmd()
_ = testutil.ApplyMockIODiscardOutErr(cmd)
clientCtx := client.Context{}.WithJSONMarshaler(cdc)