Skip to content

Commit 9f0daa9

Browse files
authored
[patch]: added tests for context error detection (#9)
1 parent 5034d24 commit 9f0daa9

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

helper_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package errors
22

33
import (
4+
"context"
45
"errors"
56
"fmt"
7+
"net/http"
68
"reflect"
79
"testing"
10+
11+
"google.golang.org/grpc/codes"
812
)
913

1014
func TestWrap(t *testing.T) {
@@ -246,3 +250,29 @@ func TestHasType(t *testing.T) {
246250
})
247251
}
248252
}
253+
254+
func TestContextErrors(t *testing.T) {
255+
err := context.Canceled
256+
werr := Wrap(err, "wrapped")
257+
if !HasType(werr, TypeContextCancelled) {
258+
t.Error("expected TypeContextCancelled")
259+
}
260+
261+
code, _ := HTTPStatusCode(werr)
262+
if code != http.StatusRequestTimeout {
263+
t.Errorf("expected 408, got: %d", code)
264+
}
265+
266+
gcode, _ := GRPCStatusCode(werr)
267+
if gcode != codes.Canceled {
268+
t.Errorf("expected %d/%s, got: %d", codes.Canceled, codes.Canceled, code)
269+
}
270+
271+
err = context.DeadlineExceeded
272+
werr = Wrap(err, "wrapped")
273+
274+
gcode, _ = GRPCStatusCode(werr)
275+
if gcode != codes.DeadlineExceeded {
276+
t.Errorf("expected %d/%s, got: %d", codes.DeadlineExceeded, codes.DeadlineExceeded, code)
277+
}
278+
}

0 commit comments

Comments
 (0)