@@ -225,6 +225,7 @@ func TestReadClient(t *testing.T) {
225225 expectedSamples [][]model.SamplePair
226226 expectedErrorContains string
227227 sortSeries bool
228+ unwrap bool
228229 }{
229230 {
230231 name : "sorted sampled response" ,
@@ -336,6 +337,14 @@ func TestReadClient(t *testing.T) {
336337 timeout : 5 * time .Millisecond ,
337338 expectedErrorContains : "context deadline exceeded: request timed out after 5ms" ,
338339 },
340+ {
341+ name : "unwrap error" ,
342+ httpHandler : http .HandlerFunc (func (w http.ResponseWriter , _ * http.Request ) {
343+ http .Error (w , "test error" , http .StatusBadRequest )
344+ }),
345+ expectedErrorContains : "test error" ,
346+ unwrap : true ,
347+ },
339348 }
340349
341350 for _ , test := range tests {
@@ -366,6 +375,10 @@ func TestReadClient(t *testing.T) {
366375 ss , err := c .Read (context .Background (), query , test .sortSeries )
367376 if test .expectedErrorContains != "" {
368377 require .ErrorContains (t , err , test .expectedErrorContains )
378+ if test .unwrap {
379+ err = errors .Unwrap (err )
380+ require .EqualError (t , err , test .expectedErrorContains + "\n " )
381+ }
369382 return
370383 }
371384
@@ -409,34 +422,6 @@ func TestReadClient(t *testing.T) {
409422 }
410423}
411424
412- func TestReadClientUnwrapError (t * testing.T ) {
413- httpHandler := http .HandlerFunc (func (w http.ResponseWriter , _ * http.Request ) {
414- http .Error (w , "test error" , http .StatusBadRequest )
415- })
416- expectedError := "test error\n "
417-
418- server := httptest .NewServer (httpHandler )
419- defer server .Close ()
420-
421- u , err := url .Parse (server .URL )
422- require .NoError (t , err )
423-
424- conf := & ClientConfig {
425- URL : & config_util.URL {URL : u },
426- Timeout : model .Duration (5 * time .Second ),
427- ChunkedReadLimit : config .DefaultChunkedReadLimit ,
428- }
429- c , err := NewReadClient ("test" , conf )
430- require .NoError (t , err )
431-
432- query := & prompb.Query {}
433-
434- _ , err = c .Read (context .Background (), query , false )
435- require .ErrorContains (t , err , expectedError )
436- err = errors .Unwrap (err )
437- require .EqualError (t , err , expectedError )
438- }
439-
440425func sampledResponseHTTPHandler (t * testing.T ) http.HandlerFunc {
441426 return func (w http.ResponseWriter , _ * http.Request ) {
442427 w .Header ().Set ("Content-Type" , "application/x-protobuf" )
0 commit comments