@@ -58,14 +58,14 @@ func TestWriteTimeSeries(t *testing.T) {
5858
5959 for _ , tt := range tests {
6060 t .Run (tt .name , func (t * testing.T ) {
61+ var handlerWriteErr error
6162 server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
6263 if tt .validateReq != nil {
6364 tt .validateReq (t , r )
6465 }
6566 w .WriteHeader (tt .statusCode )
6667 if tt .responseBody != "" {
67- _ , err := w .Write ([]byte (tt .responseBody ))
68- require .NoError (t , err )
68+ _ , handlerWriteErr = w .Write ([]byte (tt .responseBody ))
6969 }
7070 }))
7171 defer server .Close ()
@@ -90,6 +90,7 @@ func TestWriteTimeSeries(t *testing.T) {
9090 } else {
9191 require .NoError (t , err )
9292 }
93+ require .NoError (t , handlerWriteErr )
9394 })
9495 }
9596}
@@ -128,9 +129,10 @@ func TestDiscoverTimeseries(t *testing.T) {
128129func TestDiscoverAndWriteMetrics (t * testing.T ) {
129130 receivedData := make (chan []byte , 1 )
130131
132+ errChan := make (chan error , 1 )
131133 server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
132134 body , err := io .ReadAll (r .Body )
133- require . NoError ( t , err )
135+ errChan <- err
134136 receivedData <- body
135137 w .WriteHeader (200 )
136138 }))
@@ -143,13 +145,15 @@ func TestDiscoverAndWriteMetrics(t *testing.T) {
143145 })
144146 gauge .Set (100 )
145147 registry .MustRegister (gauge )
146-
147148 client := & http.Client {}
148149 err := discoverAndWriteMetrics (t .Context (), registry , client , server .URL )
149150 require .NoError (t , err )
150151
151152 select {
152153 case data := <- receivedData :
154+ // Check for error from handler
155+ handlerErr := <- errChan
156+ require .NoError (t , handlerErr )
153157 require .NotEmpty (t , data )
154158
155159 // Verify the data can be decompressed
0 commit comments