diff --git a/cmd/gaia/init/init.go b/cmd/gaia/init/init.go index 852ecc3f89..bb56de1bd6 100644 --- a/cmd/gaia/init/init.go +++ b/cmd/gaia/init/init.go @@ -62,12 +62,7 @@ func InitCmd(ctx *server.Context, cdc *codec.Codec, appInit server.AppInit) *cob return err } - moniker := viper.GetString(flagMoniker) - if moniker == "" { - return fmt.Errorf("required flag \"%s\" has not been set", flagMoniker) - } - - config.Moniker = moniker + config.Moniker = viper.GetString(flagMoniker) var appState json.RawMessage genFile := config.GenesisFile() @@ -94,6 +89,7 @@ func InitCmd(ctx *server.Context, cdc *codec.Codec, appInit server.AppInit) *cob }, } + cmd.MarkFlagRequired(flagMoniker) cmd.Flags().String(cli.HomeFlag, app.DefaultNodeHome, "node's home directory") cmd.Flags().BoolP(flagOverwrite, "o", false, "overwrite the genesis.json file") cmd.Flags().String(client.FlagChainID, "", "genesis file chain-id, if left blank will be randomly created") diff --git a/cmd/gaia/init/init_test.go b/cmd/gaia/init/init_test.go index bd5274c261..d1d9b9ce2d 100644 --- a/cmd/gaia/init/init_test.go +++ b/cmd/gaia/init/init_test.go @@ -2,15 +2,16 @@ package init import ( "bytes" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/cmd/gaia/app" - "github.com/tendermint/tendermint/libs/cli" "io" "io/ioutil" "os" "testing" "time" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/cmd/gaia/app" + "github.com/tendermint/tendermint/libs/cli" + "github.com/cosmos/cosmos-sdk/server" "github.com/cosmos/cosmos-sdk/server/mock" "github.com/stretchr/testify/require" @@ -28,12 +29,16 @@ func TestInitCmd(t *testing.T) { logger := log.NewNopLogger() cfg, err := tcmd.ParseConfig() require.Nil(t, err) + ctx := server.NewContext(cfg, logger) cdc := app.MakeCodec() appInit := server.AppInit{ AppGenState: mock.AppGenState, } cmd := InitCmd(ctx, cdc, appInit) + + viper.Set(flagMoniker, "gaianode-test") + err = cmd.RunE(nil, nil) require.NoError(t, err) } @@ -53,14 +58,19 @@ func setupClientHome(t *testing.T) func() { func TestEmptyState(t *testing.T) { defer server.SetupViper(t)() defer setupClientHome(t)() + logger := log.NewNopLogger() cfg, err := tcmd.ParseConfig() require.Nil(t, err) + ctx := server.NewContext(cfg, logger) cdc := app.MakeCodec() appInit := server.AppInit{ AppGenState: mock.AppGenStateEmpty, } + + viper.Set(flagMoniker, "gaianode-test") + cmd := InitCmd(ctx, cdc, appInit) err = cmd.RunE(nil, nil) require.NoError(t, err) @@ -69,6 +79,7 @@ func TestEmptyState(t *testing.T) { r, w, _ := os.Pipe() os.Stdout = w cmd = server.ExportCmd(ctx, cdc, nil) + err = cmd.RunE(nil, nil) require.NoError(t, err)