github.com/aavshr/aws-sdk-go@v1.41.3/service/simpledb/unmarshal_error_leak_test.go (about) 1 package simpledb 2 3 import ( 4 "net/http" 5 "testing" 6 7 "github.com/aavshr/aws-sdk-go/aws/request" 8 "github.com/aavshr/aws-sdk-go/awstesting" 9 ) 10 11 func TestUnmarhsalErrorLeak(t *testing.T) { 12 req := &request.Request{ 13 HTTPRequest: &http.Request{ 14 Header: make(http.Header), 15 Body: &awstesting.ReadCloser{Size: 2048}, 16 }, 17 } 18 req.HTTPResponse = &http.Response{ 19 Body: &awstesting.ReadCloser{Size: 2048}, 20 Header: http.Header{ 21 "X-Amzn-Requestid": []string{"1"}, 22 }, 23 StatusCode: http.StatusOK, 24 } 25 26 reader := req.HTTPResponse.Body.(*awstesting.ReadCloser) 27 unmarshalError(req) 28 29 if req.Error == nil { 30 t.Errorf("expect error, got nil") 31 } 32 if !reader.Closed { 33 t.Errorf("expect closed, was not") 34 } 35 if e, a := 0, reader.Size; e != a { 36 t.Errorf("expect %v, got %v", e, a) 37 } 38 }