MCPcopy
hub / github.com/gofiber/fiber / Test_App_Mixed_Routes_WithSameLen

Function Test_App_Mixed_Routes_WithSameLen

app_test.go:1699–1743  ·  view source on GitHub ↗

go test -run Test_App_Mixed_Routes_WithSameLen

(t *testing.T)

Source from the content-addressed store, hash-verified

1697
1698// go test -run Test_App_Mixed_Routes_WithSameLen
1699func Test_App_Mixed_Routes_WithSameLen(t *testing.T) {
1700 t.Parallel()
1701 app := New()
1702
1703 // middleware
1704 app.Use(func(c Ctx) error {
1705 c.Set("TestHeader", "TestValue")
1706 return c.Next()
1707 })
1708 // routes with the same length
1709 app.Get("/tesbar", func(c Ctx) error {
1710 c.Type("html")
1711 return c.Send([]byte("TEST_BAR"))
1712 })
1713 app.Get("/foobar", func(c Ctx) error {
1714 c.Type("html")
1715 return c.Send([]byte("FOO_BAR"))
1716 })
1717
1718 // match get route
1719 req := httptest.NewRequest(MethodGet, "/foobar", http.NoBody)
1720 resp, err := app.Test(req)
1721 require.NoError(t, err, "app.Test(req)")
1722 require.Equal(t, 200, resp.StatusCode, "Status code")
1723 require.NotEmpty(t, resp.Header.Get(HeaderContentLength))
1724 require.Equal(t, "TestValue", resp.Header.Get("TestHeader"))
1725 require.Equal(t, "text/html; charset=utf-8", resp.Header.Get(HeaderContentType))
1726
1727 body, err := io.ReadAll(resp.Body)
1728 require.NoError(t, err)
1729 require.Equal(t, "FOO_BAR", string(body))
1730
1731 // match static route
1732 req = httptest.NewRequest(MethodGet, "/tesbar", http.NoBody)
1733 resp, err = app.Test(req)
1734 require.NoError(t, err, "app.Test(req)")
1735 require.Equal(t, 200, resp.StatusCode, "Status code")
1736 require.NotEmpty(t, resp.Header.Get(HeaderContentLength))
1737 require.Equal(t, "TestValue", resp.Header.Get("TestHeader"))
1738 require.Equal(t, "text/html; charset=utf-8", resp.Header.Get(HeaderContentType))
1739
1740 body, err = io.ReadAll(resp.Body)
1741 require.NoError(t, err)
1742 require.Contains(t, string(body), "TEST_BAR")
1743}
1744
1745func Test_App_Group_Invalid(t *testing.T) {
1746 t.Parallel()

Callers

nothing calls this directly

Calls 9

TestMethod · 0.80
ContainsMethod · 0.80
NewFunction · 0.70
UseMethod · 0.65
SetMethod · 0.65
NextMethod · 0.65
GetMethod · 0.65
TypeMethod · 0.65
SendMethod · 0.65

Tested by

no test coverage detected