Home / Function/ TestLogger() — gin Function Reference

TestLogger() — gin Function Reference

Architecture documentation for the TestLogger() function in logger_test.go from the gin codebase.

Entity Profile

Dependency Diagram

graph TD
  626ecabc_d353_4748_bc62_664720803f1f["TestLogger()"]
  9089ba1c_3991_2941_2a87_9934a9e12a6a["logger_test.go"]
  626ecabc_d353_4748_bc62_664720803f1f -->|defined in| 9089ba1c_3991_2941_2a87_9934a9e12a6a
  style 626ecabc_d353_4748_bc62_664720803f1f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

logger_test.go lines 22–84

func TestLogger(t *testing.T) {
	buffer := new(strings.Builder)
	router := New()
	router.Use(LoggerWithWriter(buffer))
	router.GET("/example", func(c *Context) {})
	router.POST("/example", func(c *Context) {})
	router.PUT("/example", func(c *Context) {})
	router.DELETE("/example", func(c *Context) {})
	router.PATCH("/example", func(c *Context) {})
	router.HEAD("/example", func(c *Context) {})
	router.OPTIONS("/example", func(c *Context) {})

	PerformRequest(router, http.MethodGet, "/example?a=100")
	assert.Contains(t, buffer.String(), "200")
	assert.Contains(t, buffer.String(), http.MethodGet)
	assert.Contains(t, buffer.String(), "/example")
	assert.Contains(t, buffer.String(), "a=100")

	// I wrote these first (extending the above) but then realized they are more
	// like integration tests because they test the whole logging process rather
	// than individual functions. I'm not sure where these should go.
	buffer.Reset()
	PerformRequest(router, http.MethodPost, "/example")
	assert.Contains(t, buffer.String(), "200")
	assert.Contains(t, buffer.String(), http.MethodPost)
	assert.Contains(t, buffer.String(), "/example")

	buffer.Reset()
	PerformRequest(router, http.MethodPut, "/example")
	assert.Contains(t, buffer.String(), "200")
	assert.Contains(t, buffer.String(), http.MethodPut)
	assert.Contains(t, buffer.String(), "/example")

	buffer.Reset()
	PerformRequest(router, http.MethodDelete, "/example")
	assert.Contains(t, buffer.String(), "200")
	assert.Contains(t, buffer.String(), http.MethodDelete)
	assert.Contains(t, buffer.String(), "/example")

	buffer.Reset()
	PerformRequest(router, "PATCH", "/example")
	assert.Contains(t, buffer.String(), "200")
	assert.Contains(t, buffer.String(), "PATCH")
	assert.Contains(t, buffer.String(), "/example")

	buffer.Reset()
	PerformRequest(router, "HEAD", "/example")
	assert.Contains(t, buffer.String(), "200")
	assert.Contains(t, buffer.String(), "HEAD")
	assert.Contains(t, buffer.String(), "/example")

	buffer.Reset()
	PerformRequest(router, "OPTIONS", "/example")
	assert.Contains(t, buffer.String(), "200")
	assert.Contains(t, buffer.String(), "OPTIONS")
	assert.Contains(t, buffer.String(), "/example")

	buffer.Reset()
	PerformRequest(router, http.MethodGet, "/notfound")
	assert.Contains(t, buffer.String(), "404")
	assert.Contains(t, buffer.String(), http.MethodGet)
	assert.Contains(t, buffer.String(), "/notfound")
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does TestLogger() do?
TestLogger() is a function in the gin codebase, defined in logger_test.go.
Where is TestLogger() defined?
TestLogger() is defined in logger_test.go at line 22.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free