Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
977 B · 33 lines
Go
12345678910111213141516171819202122232425262728293031323334package discord
import ( "bytes" "strings" "testing"
"github.com/stretchr/testify/require")
func TestReadResponseBodyTruncates(t *testing.T) { body := bytes.Repeat([]byte("a"), maxResponseBodyLogBytes*10) out, err := readResponseBody(bytes.NewReader(body)) require.NoError(t, err) require.Equal(t, maxResponseBodyLogBytes, len(out))}
func TestReadResponseBodyStripsControlCharacters(t *testing.T) { out, err := readResponseBody(strings.NewReader("bad\x00body\x1b[31m\nwith\ttabs\r\n")) require.NoError(t, err) require.NotContains(t, out, "\x00") require.NotContains(t, out, "\x1b") require.NotContains(t, out, "\n") require.NotContains(t, out, "\t") require.NotContains(t, out, "\r") require.Contains(t, out, "badbody")}
func TestReadResponseBodyKeepsPrintableUnicode(t *testing.T) { out, err := readResponseBody(strings.NewReader("error: quota exceeded 日本語")) require.NoError(t, err) require.Equal(t, "error: quota exceeded 日本語", out)}