github.com/cosmos/cosmos-sdk@v0.50.10/x/genutil/client/testutil/helpers.go (about) 1 package testutil 2 3 import ( 4 "context" 5 "fmt" 6 7 cmtcfg "github.com/cometbft/cometbft/config" 8 "github.com/spf13/viper" 9 10 "cosmossdk.io/log" 11 12 "github.com/cosmos/cosmos-sdk/client" 13 "github.com/cosmos/cosmos-sdk/client/flags" 14 "github.com/cosmos/cosmos-sdk/codec" 15 "github.com/cosmos/cosmos-sdk/server" 16 "github.com/cosmos/cosmos-sdk/testutil" 17 "github.com/cosmos/cosmos-sdk/types/module" 18 genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" 19 ) 20 21 func ExecInitCmd(testMbm module.BasicManager, home string, cdc codec.Codec) error { 22 logger := log.NewNopLogger() 23 cfg, err := CreateDefaultCometConfig(home) 24 if err != nil { 25 return err 26 } 27 28 cmd := genutilcli.InitCmd(testMbm, home) 29 serverCtx := server.NewContext(viper.New(), cfg, logger) 30 clientCtx := client.Context{}.WithCodec(cdc).WithHomeDir(home) 31 32 _, out := testutil.ApplyMockIO(cmd) 33 clientCtx = clientCtx.WithOutput(out) 34 35 ctx := context.Background() 36 ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx) 37 ctx = context.WithValue(ctx, server.ServerContextKey, serverCtx) 38 39 cmd.SetArgs([]string{"appnode-test", fmt.Sprintf("--%s=%s", flags.FlagHome, home)}) 40 41 return cmd.ExecuteContext(ctx) 42 } 43 44 func CreateDefaultCometConfig(rootDir string) (*cmtcfg.Config, error) { 45 conf := cmtcfg.DefaultConfig() 46 conf.SetRoot(rootDir) 47 cmtcfg.EnsureRoot(rootDir) 48 49 if err := conf.ValidateBasic(); err != nil { 50 return nil, fmt.Errorf("error in config file: %v", err) 51 } 52 53 return conf, nil 54 }