Fixes #33372
(cherry picked from commit 889d4683a1)
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
This commit is contained in:
committed by
GitHub
parent
908a951fc0
commit
a8ecdca826
@@ -0,0 +1,38 @@
|
||||
package httpclient
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestCountBytesReader(t *testing.T) {
|
||||
tcs := []struct {
|
||||
body string
|
||||
expectedBytesCount int64
|
||||
}{
|
||||
{body: "d", expectedBytesCount: 1},
|
||||
{body: "dummy", expectedBytesCount: 5},
|
||||
}
|
||||
|
||||
for index, tc := range tcs {
|
||||
t.Run(fmt.Sprintf("Test CountBytesReader %d", index), func(t *testing.T) {
|
||||
body := ioutil.NopCloser(strings.NewReader(tc.body))
|
||||
var actualBytesRead int64
|
||||
|
||||
readCloser := CountBytesReader(body, func(bytesRead int64) {
|
||||
actualBytesRead = bytesRead
|
||||
})
|
||||
|
||||
bodyBytes, err := ioutil.ReadAll(readCloser)
|
||||
require.NoError(t, err)
|
||||
err = readCloser.Close()
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, tc.expectedBytesCount, actualBytesRead)
|
||||
require.Equal(t, string(bodyBytes), tc.body)
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user