github.com/gofiber/fiber/v2@v2.47.0/middleware/skip/skip_test.go (about)

     1  package skip_test
     2  
     3  import (
     4  	"net/http/httptest"
     5  	"testing"
     6  
     7  	"github.com/gofiber/fiber/v2"
     8  	"github.com/gofiber/fiber/v2/middleware/skip"
     9  	"github.com/gofiber/fiber/v2/utils"
    10  )
    11  
    12  // go test -run Test_Skip
    13  func Test_Skip(t *testing.T) {
    14  	t.Parallel()
    15  	app := fiber.New()
    16  
    17  	app.Use(skip.New(errTeapotHandler, func(*fiber.Ctx) bool { return true }))
    18  	app.Get("/", helloWorldHandler)
    19  
    20  	resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", nil))
    21  	utils.AssertEqual(t, nil, err)
    22  	utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode)
    23  }
    24  
    25  // go test -run Test_SkipFalse
    26  func Test_SkipFalse(t *testing.T) {
    27  	t.Parallel()
    28  	app := fiber.New()
    29  
    30  	app.Use(skip.New(errTeapotHandler, func(*fiber.Ctx) bool { return false }))
    31  	app.Get("/", helloWorldHandler)
    32  
    33  	resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", nil))
    34  	utils.AssertEqual(t, nil, err)
    35  	utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode)
    36  }
    37  
    38  // go test -run Test_SkipNilFunc
    39  func Test_SkipNilFunc(t *testing.T) {
    40  	t.Parallel()
    41  	app := fiber.New()
    42  
    43  	app.Use(skip.New(errTeapotHandler, nil))
    44  	app.Get("/", helloWorldHandler)
    45  
    46  	resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", nil))
    47  	utils.AssertEqual(t, nil, err)
    48  	utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode)
    49  }
    50  
    51  func helloWorldHandler(c *fiber.Ctx) error {
    52  	return c.SendString("Hello, World 👋!")
    53  }
    54  
    55  func errTeapotHandler(*fiber.Ctx) error {
    56  	return fiber.ErrTeapot
    57  }