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  }