github.com/weaveworks/common@v0.0.0-20230728070032-dd9e68f319d5/middleware/grpc_instrumentation_test.go (about) 1 package middleware 2 3 import ( 4 "net/http" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 "github.com/weaveworks/common/httpgrpc" 9 "google.golang.org/grpc/codes" 10 "google.golang.org/grpc/status" 11 ) 12 13 func TestErrorCode_NoError(t *testing.T) { 14 a := errorCode(nil) 15 assert.Equal(t, "2xx", a) 16 } 17 18 func TestErrorCode_Any5xx(t *testing.T) { 19 err := httpgrpc.Errorf(http.StatusNotImplemented, "Fail") 20 a := errorCode(err) 21 assert.Equal(t, "5xx", a) 22 } 23 24 func TestErrorCode_Any4xx(t *testing.T) { 25 err := httpgrpc.Errorf(http.StatusConflict, "Fail") 26 a := errorCode(err) 27 assert.Equal(t, "4xx", a) 28 } 29 30 func TestErrorCode_Canceled(t *testing.T) { 31 err := status.Errorf(codes.Canceled, "Fail") 32 a := errorCode(err) 33 assert.Equal(t, "cancel", a) 34 } 35 36 func TestErrorCode_Unknown(t *testing.T) { 37 err := status.Errorf(codes.Unknown, "Fail") 38 a := errorCode(err) 39 assert.Equal(t, "error", a) 40 }