mirror of
https://github.com/gofiber/fiber.git
synced 2025-02-21 20:13:22 +00:00
📝 improve favicon mw test covered
This commit is contained in:
parent
76480a4deb
commit
1594e2e8f2
@ -17,20 +17,51 @@ func Test_Middleware_Favicon(t *testing.T) {
|
||||
|
||||
app.Get("/", func(c *fiber.Ctx) {})
|
||||
|
||||
resp, err := app.Test(httptest.NewRequest("GET", "/favicon.ico", nil))
|
||||
// Skip Favicon middleware
|
||||
resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
|
||||
utils.AssertEqual(t, nil, err, "app.Test(req)")
|
||||
utils.AssertEqual(t, 204, resp.StatusCode, "Status code")
|
||||
utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode, "Status code")
|
||||
|
||||
resp, err = app.Test(httptest.NewRequest("GET", "/favicon.ico", nil))
|
||||
utils.AssertEqual(t, nil, err, "app.Test(req)")
|
||||
utils.AssertEqual(t, fiber.StatusNoContent, resp.StatusCode, "Status code")
|
||||
|
||||
resp, err = app.Test(httptest.NewRequest("OPTIONS", "/favicon.ico", nil))
|
||||
utils.AssertEqual(t, nil, err, "app.Test(req)")
|
||||
utils.AssertEqual(t, 200, resp.StatusCode, "Status code")
|
||||
utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode, "Status code")
|
||||
|
||||
resp, err = app.Test(httptest.NewRequest("PUT", "/favicon.ico", nil))
|
||||
utils.AssertEqual(t, nil, err, "app.Test(req)")
|
||||
utils.AssertEqual(t, 405, resp.StatusCode, "Status code")
|
||||
utils.AssertEqual(t, fiber.StatusMethodNotAllowed, resp.StatusCode, "Status code")
|
||||
utils.AssertEqual(t, "GET, HEAD, OPTIONS", resp.Header.Get(fiber.HeaderAllow))
|
||||
}
|
||||
|
||||
// go test -run Test_Middleware_Favicon_Not_Found
|
||||
func Test_Middleware_Favicon_Not_Found(t *testing.T) {
|
||||
defer func() {
|
||||
if err := recover(); err == nil {
|
||||
t.Fatal("should cache panic")
|
||||
}
|
||||
}()
|
||||
|
||||
fiber.New().Use(Favicon("non-exist.ico"))
|
||||
}
|
||||
|
||||
// go test -run Test_Middleware_Favicon_Found
|
||||
func Test_Middleware_Favicon_Found(t *testing.T) {
|
||||
app := fiber.New()
|
||||
|
||||
app.Use(Favicon("./testdata/favicon.ico"))
|
||||
|
||||
app.Get("/", func(c *fiber.Ctx) {})
|
||||
|
||||
resp, err := app.Test(httptest.NewRequest("GET", "/favicon.ico", nil))
|
||||
|
||||
utils.AssertEqual(t, nil, err, "app.Test(req)")
|
||||
utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode, "Status code")
|
||||
utils.AssertEqual(t, "image/x-icon", resp.Header.Get(fiber.HeaderContentType))
|
||||
}
|
||||
|
||||
// go test -v -run=^$ -bench=Benchmark_Middleware_Favicon -benchmem -count=4
|
||||
func Benchmark_Middleware_Favicon(b *testing.B) {
|
||||
app := fiber.New()
|
||||
|
BIN
middleware/testdata/favicon.ico
vendored
Normal file
BIN
middleware/testdata/favicon.ico
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
Loading…
x
Reference in New Issue
Block a user