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