github.com/Finschia/finschia-sdk@v0.48.1/testutil/cli/cmd.go (about) 1 package cli 2 3 import ( 4 "context" 5 6 "github.com/spf13/cobra" 7 8 "github.com/Finschia/finschia-sdk/client" 9 "github.com/Finschia/finschia-sdk/testutil" 10 ) 11 12 // ExecTestCLICmd builds the client context, mocks the output and executes the command. 13 func ExecTestCLICmd(clientCtx client.Context, cmd *cobra.Command, extraArgs []string) (testutil.BufferWriter, error) { 14 cmd.SetArgs(extraArgs) 15 16 _, out := testutil.ApplyMockIO(cmd) 17 clientCtx = clientCtx.WithOutput(out) 18 19 ctx := context.Background() 20 ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx) 21 22 if err := cmd.ExecuteContext(ctx); err != nil { 23 return out, err 24 } 25 26 return out, nil 27 }