github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/lokifrontend/frontend/transport/handler_test.go (about) 1 package transport 2 3 import ( 4 "context" 5 "net/http" 6 "net/http/httptest" 7 "testing" 8 9 "github.com/pkg/errors" 10 "github.com/stretchr/testify/require" 11 "github.com/weaveworks/common/httpgrpc" 12 ) 13 14 func TestWriteError(t *testing.T) { 15 for _, test := range []struct { 16 status int 17 err error 18 }{ 19 {http.StatusInternalServerError, errors.New("unknown")}, 20 {http.StatusGatewayTimeout, context.DeadlineExceeded}, 21 {StatusClientClosedRequest, context.Canceled}, 22 {http.StatusBadRequest, httpgrpc.Errorf(http.StatusBadRequest, "")}, 23 } { 24 t.Run(test.err.Error(), func(t *testing.T) { 25 w := httptest.NewRecorder() 26 writeError(w, test.err) 27 require.Equal(t, test.status, w.Result().StatusCode) 28 }) 29 } 30 }