12345678910111213141516171819202122232425262728293031323334353637383940 |
- package protocol_test
- import (
- "net/http"
- "strings"
- "testing"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/stretchr/testify/assert"
- )
- type mockCloser struct {
- *strings.Reader
- Closed bool
- }
- func (m *mockCloser) Close() error {
- m.Closed = true
- return nil
- }
- func TestUnmarshalDrainBody(t *testing.T) {
- b := &mockCloser{Reader: strings.NewReader("example body")}
- r := &request.Request{HTTPResponse: &http.Response{
- Body: b,
- }}
- protocol.UnmarshalDiscardBody(r)
- assert.NoError(t, r.Error)
- assert.Equal(t, 0, b.Len())
- assert.True(t, b.Closed)
- }
- func TestUnmarshalDrainBodyNoBody(t *testing.T) {
- r := &request.Request{HTTPResponse: &http.Response{}}
- protocol.UnmarshalDiscardBody(r)
- assert.NoError(t, r.Error)
- }
|