github.com/Finschia/finschia-sdk@v0.48.1/testutil/ioutil_test.go (about)

     1  package testutil_test
     2  
     3  import (
     4  	"io"
     5  	"os"
     6  	"testing"
     7  
     8  	"github.com/spf13/cobra"
     9  	"github.com/stretchr/testify/require"
    10  
    11  	"github.com/Finschia/finschia-sdk/testutil"
    12  )
    13  
    14  func TestApplyMockIO(t *testing.T) {
    15  	cmd := &cobra.Command{}
    16  	oldStdin := cmd.InOrStdin()
    17  	oldStdout := cmd.OutOrStdout()
    18  	oldStderr := cmd.ErrOrStderr()
    19  
    20  	testutil.ApplyMockIO(cmd)
    21  
    22  	require.NotEqual(t, cmd.InOrStdin(), oldStdin)
    23  	require.NotEqual(t, cmd.OutOrStdout(), oldStdout)
    24  	require.NotEqual(t, cmd.ErrOrStderr(), oldStderr)
    25  	require.Equal(t, cmd.ErrOrStderr(), cmd.OutOrStdout())
    26  }
    27  
    28  func TestWriteToNewTempFile(t *testing.T) {
    29  	tempfile := testutil.WriteToNewTempFile(t, "test string")
    30  	tempfile.Close()
    31  
    32  	bs, err := os.ReadFile(tempfile.Name())
    33  	require.NoError(t, err)
    34  	require.Equal(t, "test string", string(bs))
    35  }
    36  
    37  func TestApplyMockIODiscardOutErr(t *testing.T) {
    38  	cmd := &cobra.Command{}
    39  	oldStdin := cmd.InOrStdin()
    40  
    41  	testutil.ApplyMockIODiscardOutErr(cmd)
    42  	require.NotEqual(t, cmd.InOrStdin(), oldStdin)
    43  	require.Equal(t, cmd.OutOrStdout(), io.Discard)
    44  	require.Equal(t, cmd.ErrOrStderr(), io.Discard)
    45  }