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 }