all repos

x @ v0.2.0

go extra()

x/reqid/reqid_test.go(view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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)
}