all repos

onasty @ c2e1526cc824db72296b1282bee4df957421640a

a one-time notes service

onasty/internal/transport/http/reqid/reqid_test.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
refactor(usersrv): remove unsed dep, 1 year ago
1
package reqid
2
3
import (
4
	"net/http"
5
	"net/http/httptest"
6
	"testing"
7
8
	"github.com/gin-gonic/gin"
9
	"github.com/stretchr/testify/assert"
10
	"github.com/stretchr/testify/require"
11
)
12
13
//nolint:gochecknoinits
14
func init() {
15
	gin.SetMode(gin.TestMode)
16
}
17
18
func testHandler(c *gin.Context) {
19
	c.Status(http.StatusOK)
20
}
21
22
func TestMiddleware(t *testing.T) {
23
	r := gin.New()
24
	r.Use(Middleware())
25
	r.GET("/", testHandler)
26
27
	w := httptest.NewRecorder()
28
	req, err := http.NewRequest(http.MethodGet, "/", nil)
29
	require.NoError(t, err)
30
31
	r.ServeHTTP(w, req)
32
33
	assert.Equal(t, http.StatusOK, w.Code)
34
	assert.NotEmpty(t, w.Header().Get(headerRequestID))
35
}
36
37
func BenchmarkMiddleware(b *testing.B) {
38
	r := gin.New()
39
	r.Use(Middleware())
40
	r.GET("/", testHandler)
41
42
	w := httptest.NewRecorder()
43
	req, err := http.NewRequest(http.MethodGet, "/", nil)
44
	require.NoError(b, err)
45
46
	for b.Loop() {
47
		r.ServeHTTP(w, req)
48
	}
49
}