github.com/aavshr/aws-sdk-go@v1.41.3/service/route53/unmarshal_error_leak_test.go (about) 1 package route53 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 Operation: &request.Operation{ 14 Name: opChangeResourceRecordSets, 15 }, 16 HTTPRequest: &http.Request{ 17 Header: make(http.Header), 18 Body: &awstesting.ReadCloser{Size: 2048}, 19 }, 20 } 21 req.HTTPResponse = &http.Response{ 22 Body: &awstesting.ReadCloser{Size: 2048}, 23 Header: http.Header{ 24 "X-Amzn-Requestid": []string{"1"}, 25 }, 26 StatusCode: http.StatusOK, 27 } 28 29 reader := req.HTTPResponse.Body.(*awstesting.ReadCloser) 30 unmarshalChangeResourceRecordSetsError(req) 31 32 if req.Error == nil { 33 t.Error("expected an error, but received none") 34 } 35 36 if !reader.Closed { 37 t.Error("expected reader to be closed") 38 } 39 40 if e, a := 0, reader.Size; e != a { 41 t.Errorf("expected %d, but received %d", e, a) 42 } 43 }