1
0
mirror of https://github.com/gofiber/fiber.git synced 2025-02-23 06:43:42 +00:00
fiber/middleware/timeout_test.go
2020-07-04 10:11:23 +02:00

64 lines
2.1 KiB
Go

package middleware
// go test -run Test_Middleware_Timeout
// func Test_Middleware_Timeout(t *testing.T) {
// app := fiber.New(&fiber.Settings{DisableStartupMessage: true})
// h := Timeout(
// func(c *fiber.Ctx) {
// sleepTime, _ := time.ParseDuration(c.Params("sleepTime") + "ms")
// time.Sleep(sleepTime)
// c.SendString("After " + c.Params("sleepTime") + "ms sleeping")
// },
// 5*time.Millisecond,
// )
// app.Get("/test/:sleepTime", h)
// testTimeout := func(timeoutStr string) {
// resp, err := app.Test(httptest.NewRequest("GET", "/test/"+timeoutStr, nil))
// utils.AssertEqual(t, nil, err, "app.Test(req)")
// utils.AssertEqual(t, fiber.StatusRequestTimeout, resp.StatusCode, "Status code")
// body, err := ioutil.ReadAll(resp.Body)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, "Request Timeout", string(body))
// }
// testSucces := func(timeoutStr string) {
// resp, err := app.Test(httptest.NewRequest("GET", "/test/"+timeoutStr, nil))
// utils.AssertEqual(t, nil, err, "app.Test(req)")
// utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode, "Status code")
// body, err := ioutil.ReadAll(resp.Body)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, "After "+timeoutStr+"ms sleeping", string(body))
// }
// testTimeout("15")
// testSucces("2")
// testTimeout("30")
// testSucces("3")
// }
// go test -run Test_Middleware_Timeout_Panic
// func Test_Middleware_Timeout_Panic(t *testing.T) {
// app := fiber.New(&fiber.Settings{DisableStartupMessage: true})
// h := Timeout(
// func(c *fiber.Ctx) {
// c.Set("dummy", "this should not be here")
// panic("panic in timeout handler")
// },
// 5*time.Millisecond,
// )
// app.Get("/panic", Recover(), h)
// resp, err := app.Test(httptest.NewRequest("GET", "/panic", nil))
// utils.AssertEqual(t, nil, err, "app.Test(req)")
// utils.AssertEqual(t, fiber.StatusRequestTimeout, resp.StatusCode, "Status code")
// utils.AssertEqual(t, "", resp.Header.Get("dummy"))
// body, err := ioutil.ReadAll(resp.Body)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, "Request Timeout", string(body))
// }