Home / Function/ TestListener() — gin Function Reference

TestListener() — gin Function Reference

Architecture documentation for the TestListener() function in gin_integration_test.go from the gin codebase.

Entity Profile

Dependency Diagram

graph TD
  787a83b7_0e5a_0089_b352_6b5007ce4fed["TestListener()"]
  076d326a_acfa_c808_1141_d1324fc6e43a["gin_integration_test.go"]
  787a83b7_0e5a_0089_b352_6b5007ce4fed -->|defined in| 076d326a_acfa_c808_1141_d1324fc6e43a
  style 787a83b7_0e5a_0089_b352_6b5007ce4fed fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

gin_integration_test.go lines 344–370

func TestListener(t *testing.T) {
	router := New()
	addr, err := net.ResolveTCPAddr("tcp", "localhost:0")
	require.NoError(t, err)
	listener, err := net.ListenTCP("tcp", addr)
	require.NoError(t, err)
	go func() {
		router.GET("/example", func(c *Context) { c.String(http.StatusOK, "it worked") })
		assert.NoError(t, router.RunListener(listener))
	}()
	// have to wait for the goroutine to start and run the server
	// otherwise the main thread will complete
	time.Sleep(5 * time.Millisecond)

	c, err := net.Dial("tcp", listener.Addr().String())
	require.NoError(t, err)

	fmt.Fprintf(c, "GET /example HTTP/1.0\r\n\r\n")
	scanner := bufio.NewScanner(c)
	var responseBuilder strings.Builder
	for scanner.Scan() {
		responseBuilder.WriteString(scanner.Text())
	}
	response := responseBuilder.String()
	assert.Contains(t, response, "HTTP/1.0 200", "should get a 200")
	assert.Contains(t, response, "it worked", "resp body should match")
}

Domain

Subdomains

Frequently Asked Questions

What does TestListener() do?
TestListener() is a function in the gin codebase, defined in gin_integration_test.go.
Where is TestListener() defined?
TestListener() is defined in gin_integration_test.go at line 344.

Analyze Your Own Codebase

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

Try Supermodel Free