
After we introduced the linter we haven't really touched the old code. This commit now fixes all linting issue that exist right now.
49 lines
1.3 KiB
Go
49 lines
1.3 KiB
Go
package logging
|
|
|
|
import (
|
|
"github.com/sirupsen/logrus"
|
|
"github.com/sirupsen/logrus/hooks/test"
|
|
"github.com/stretchr/testify/assert"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
)
|
|
|
|
func mockHTTPStatusHandler(status int) http.Handler {
|
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
w.WriteHeader(status)
|
|
})
|
|
}
|
|
|
|
func TestHTTPMiddlewareWarnsWhenInternalServerError(t *testing.T) {
|
|
var hook *test.Hook
|
|
log, hook = test.NewNullLogger()
|
|
InitializeLogging(logrus.DebugLevel.String())
|
|
|
|
request, err := http.NewRequest(http.MethodGet, "/", nil)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
recorder := httptest.NewRecorder()
|
|
HTTPLoggingMiddleware(mockHTTPStatusHandler(500)).ServeHTTP(recorder, request)
|
|
|
|
assert.Equal(t, 1, len(hook.Entries))
|
|
assert.Equal(t, logrus.WarnLevel, hook.LastEntry().Level)
|
|
}
|
|
|
|
func TestHTTPMiddlewareDebugsWhenStatusOK(t *testing.T) {
|
|
var hook *test.Hook
|
|
log, hook = test.NewNullLogger()
|
|
InitializeLogging(logrus.DebugLevel.String())
|
|
|
|
request, err := http.NewRequest(http.MethodGet, "/", nil)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
recorder := httptest.NewRecorder()
|
|
HTTPLoggingMiddleware(mockHTTPStatusHandler(200)).ServeHTTP(recorder, request)
|
|
|
|
assert.Equal(t, 1, len(hook.Entries))
|
|
assert.Equal(t, logrus.DebugLevel, hook.LastEntry().Level)
|
|
}
|