package reqid import ( "net/http" "net/http/httptest" "testing" "olexsmir.xyz/x/is" ) func TestMiddleware(t *testing.T) { mux := http.NewServeMux() mux.HandleFunc("GET /", testHandler) hand := Middleware(mux) w := httptest.NewRecorder() req, _ := http.NewRequest(http.MethodGet, "/", nil) hand.ServeHTTP(w, req) is.Equal(t, http.StatusOK, w.Code) is.NotEqual(t, w.Header().Get(Header), "") } func BenchmarkMiddleware(b *testing.B) { mux := http.NewServeMux() mux.HandleFunc("GET /", testHandler) hand := Middleware(mux) w := httptest.NewRecorder() req, _ := http.NewRequest(http.MethodGet, "/", nil) for b.Loop() { hand.ServeHTTP(w, req) } } func testHandler(w http.ResponseWriter, _ *http.Request) { w.WriteHeader(http.StatusOK) }