1
0
mirror of https://github.com/gofiber/fiber.git synced 2025-02-24 23:03:43 +00:00
fiber/middleware/proxy/proxy_test.go
2020-09-27 18:24:05 +02:00

149 lines
3.8 KiB
Go

package proxy
// // go test -run Test_Proxy_Empty_Host
// func Test_Proxy_Empty_Host(t *testing.T) {
// app := fiber.New()
// app.Use(New(
// Config{Hosts: ""},
// ))
// resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode)
// }
// // go test -run Test_Proxy_Next
// func Test_Proxy_Next(t *testing.T) {
// app := fiber.New()
// app.Use(New(Config{
// Hosts: "next",
// Next: func(_ *fiber.Ctx) bool {
// return true
// },
// }))
// resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode)
// }
// // go test -run Test_Proxy
// func Test_Proxy(t *testing.T) {
// target := fiber.New(fiber.Config{
// DisableStartupMessage: true,
// })
// target.Get("/", func(c *fiber.Ctx) error {
// return c.SendStatus(fiber.StatusTeapot)
// })
// go func() {
// utils.AssertEqual(t, nil, target.Listen(":3001"))
// }()
// time.Sleep(time.Second)
// resp, err := target.Test(httptest.NewRequest("GET", "/", nil), 2000)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode)
// app := fiber.New()
// host := "localhost:3001"
// app.Use(New(Config{
// Hosts: host,
// }))
// req := httptest.NewRequest("GET", "/", nil)
// req.Host = host
// resp, err = app.Test(req)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode)
// }
// // go test -run Test_Proxy_Before_With_Error
// func Test_Proxy_Before_With_Error(t *testing.T) {
// app := fiber.New()
// errStr := "error after Before"
// app.Use(
// New(Config{
// Hosts: "host",
// Before: func(c *fiber.Ctx) error {
// return fmt.Errorf(errStr)
// },
// }))
// resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode)
// b, err := ioutil.ReadAll(resp.Body)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, errStr, string(b))
// }
// // go test -run Test_Proxy_After_With_Error
// func Test_Proxy_After_With_Error(t *testing.T) {
// target := fiber.New(fiber.Config{
// DisableStartupMessage: true,
// })
// target.Get("/", func(c *fiber.Ctx) error {
// return c.SendStatus(fiber.StatusTeapot)
// })
// go func() {
// utils.AssertEqual(t, nil, target.Listen(":3002"))
// }()
// time.Sleep(time.Second)
// resp, err := target.Test(httptest.NewRequest("GET", "/", nil), 2000)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode)
// app := fiber.New()
// host := "localhost:3001"
// errStr := "error after After"
// app.Use(New(Config{
// Hosts: host,
// After: func(ctx *fiber.Ctx) error {
// utils.AssertEqual(t, fiber.StatusTeapot, ctx.Response().StatusCode())
// return fmt.Errorf(errStr)
// },
// }))
// req := httptest.NewRequest("GET", "/", nil)
// req.Host = host
// resp, err = app.Test(req)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode)
// b, err := ioutil.ReadAll(resp.Body)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, errStr, string(b))
// }
// // go test -run Test_Proxy_Do_With_Error
// func Test_Proxy_Do_With_Error(t *testing.T) {
// app := fiber.New()
// app.Use(
// New(Config{
// Hosts: "localhost:90000",
// }))
// resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode)
// b, err := ioutil.ReadAll(resp.Body)
// utils.AssertEqual(t, nil, err)
// utils.AssertEqual(t, true, strings.Contains(string(b), "127.0.0.1:90000"))
// }