MCPcopy
hub / github.com/gin-gonic/gin / TestLogger

Function TestLogger

logger_test.go:22–84  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

20}
21
22func TestLogger(t *testing.T) {
23 buffer := new(strings.Builder)
24 router := New()
25 router.Use(LoggerWithWriter(buffer))
26 router.GET("/example", func(c *Context) {})
27 router.POST("/example", func(c *Context) {})
28 router.PUT("/example", func(c *Context) {})
29 router.DELETE("/example", func(c *Context) {})
30 router.PATCH("/example", func(c *Context) {})
31 router.HEAD("/example", func(c *Context) {})
32 router.OPTIONS("/example", func(c *Context) {})
33
34 PerformRequest(router, http.MethodGet, "/example?a=100")
35 assert.Contains(t, buffer.String(), "200")
36 assert.Contains(t, buffer.String(), http.MethodGet)
37 assert.Contains(t, buffer.String(), "/example")
38 assert.Contains(t, buffer.String(), "a=100")
39
40 // I wrote these first (extending the above) but then realized they are more
41 // like integration tests because they test the whole logging process rather
42 // than individual functions. I'm not sure where these should go.
43 buffer.Reset()
44 PerformRequest(router, http.MethodPost, "/example")
45 assert.Contains(t, buffer.String(), "200")
46 assert.Contains(t, buffer.String(), http.MethodPost)
47 assert.Contains(t, buffer.String(), "/example")
48
49 buffer.Reset()
50 PerformRequest(router, http.MethodPut, "/example")
51 assert.Contains(t, buffer.String(), "200")
52 assert.Contains(t, buffer.String(), http.MethodPut)
53 assert.Contains(t, buffer.String(), "/example")
54
55 buffer.Reset()
56 PerformRequest(router, http.MethodDelete, "/example")
57 assert.Contains(t, buffer.String(), "200")
58 assert.Contains(t, buffer.String(), http.MethodDelete)
59 assert.Contains(t, buffer.String(), "/example")
60
61 buffer.Reset()
62 PerformRequest(router, "PATCH", "/example")
63 assert.Contains(t, buffer.String(), "200")
64 assert.Contains(t, buffer.String(), "PATCH")
65 assert.Contains(t, buffer.String(), "/example")
66
67 buffer.Reset()
68 PerformRequest(router, "HEAD", "/example")
69 assert.Contains(t, buffer.String(), "200")
70 assert.Contains(t, buffer.String(), "HEAD")
71 assert.Contains(t, buffer.String(), "/example")
72
73 buffer.Reset()
74 PerformRequest(router, "OPTIONS", "/example")
75 assert.Contains(t, buffer.String(), "200")
76 assert.Contains(t, buffer.String(), "OPTIONS")
77 assert.Contains(t, buffer.String(), "/example")
78
79 buffer.Reset()

Callers

nothing calls this directly

Calls 13

NewFunction · 0.85
LoggerWithWriterFunction · 0.85
PerformRequestFunction · 0.85
UseMethod · 0.65
GETMethod · 0.65
POSTMethod · 0.65
PUTMethod · 0.65
DELETEMethod · 0.65
PATCHMethod · 0.65
HEADMethod · 0.65
OPTIONSMethod · 0.65
StringMethod · 0.65

Tested by

no test coverage detected