1
0
mirror of https://github.com/gofiber/fiber.git synced 2025-02-15 02:04:34 +00:00

👷 improve mw test cases

add Next test case
This commit is contained in:
kiyon 2020-09-16 09:44:05 +08:00
parent 221fa325db
commit e13411e184
13 changed files with 166 additions and 11 deletions

View File

@ -12,6 +12,22 @@ import (
"github.com/gofiber/fiber/v2/utils"
)
// go test -run Test_BasicAuth_Next
func Test_BasicAuth_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
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)
}
func Test_Middleware_BasicAuth(t *testing.T) {
app := fiber.New()

View File

@ -95,3 +95,19 @@ func Test_Compress_Brotli(t *testing.T) {
}
utils.AssertEqual(t, true, len(body) < len(filedata))
}
// go test -run Test_Compress_Next
func Test_Compress_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
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)
}

View File

@ -1,6 +1,7 @@
package cors
import (
"net/http/httptest"
"testing"
"github.com/gofiber/fiber/v2"
@ -193,3 +194,19 @@ func Test_CORS_AllowOriginScheme(t *testing.T) {
}
}
}
// go test -run Test_CORS_Next
func Test_CORS_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
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)
}

View File

@ -1,6 +1,7 @@
package csrf
import (
"net/http/httptest"
"strings"
"testing"
@ -51,3 +52,19 @@ func Test_CSRF(t *testing.T) {
h(ctx)
utils.AssertEqual(t, 200, ctx.Response.StatusCode())
}
// go test -run Test_CSRF_Next
func Test_CSRF_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
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)
}

View File

@ -88,3 +88,19 @@ func Benchmark_Middleware_Favicon(b *testing.B) {
handler(c)
}
}
// go test -run Test_Favicon_Next
func Test_Favicon_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
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)
}

View File

@ -1,7 +1,6 @@
package filesystem
import (
"log"
"net/http"
"os"
"strings"
@ -62,11 +61,11 @@ func New(config Config) fiber.Handler {
if !strings.HasPrefix(cfg.Index, "/") {
cfg.Index = "/" + cfg.Index
}
if cfg.NotFoundFile != "" && !strings.HasPrefix(cfg.NotFoundFile, "/") {
if cfg.NotFoundFile != "" && !strings.HasPrefix(cfg.NotFoundFile, "/") {
cfg.NotFoundFile = "/" + cfg.NotFoundFile
}
if cfg.Root == nil {
log.Fatal("filesystem: Root cannot be nil")
panic("filesystem: Root cannot be nil")
}
var once sync.Once

View File

@ -2,6 +2,7 @@ package filesystem
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/gofiber/fiber/v2"
@ -110,3 +111,20 @@ func Test_FileSystem(t *testing.T) {
})
}
}
// go test -run Test_FileSystem_Next
func Test_FileSystem_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
Root: http.Dir("../../.github/testdata/fs"),
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)
}

View File

@ -88,3 +88,19 @@ func Benchmark_Limiter(b *testing.B) {
utils.AssertEqual(b, "100", string(fctx.Response.Header.Peek("X-RateLimit-Limit")))
}
// go test -run Test_Limiter_Next
func Test_Limiter_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
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)
}

View File

@ -31,3 +31,19 @@ func Test_Logger(t *testing.T) {
utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode)
utils.AssertEqual(t, "some random error", buf.String())
}
// go test -run Test_Logger_Next
func Test_Logger_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
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)
}

View File

@ -27,11 +27,6 @@ func New(config ...Config) fiber.Handler {
// Override config if provided
if len(config) > 0 {
cfg = config[0]
// Set default values
if cfg.Next == nil {
cfg.Next = ConfigDefault.Next
}
}
// Return new handler

View File

@ -27,3 +27,19 @@ func Test_Recover(t *testing.T) {
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode)
}
// go test -run Test_Recover_Next
func Test_Recover_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
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)
}

View File

@ -44,9 +44,6 @@ func New(config ...Config) fiber.Handler {
cfg = config[0]
// Set default values
if cfg.Next == nil {
cfg.Next = ConfigDefault.Next
}
if cfg.Header == "" {
cfg.Header = ConfigDefault.Header
}

View File

@ -33,3 +33,19 @@ func Test_RequestID(t *testing.T) {
utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode)
utils.AssertEqual(t, reqid, resp.Header.Get(fiber.HeaderXRequestID))
}
// go test -run Test_RequestID_Next
func Test_RequestID_Next(t *testing.T) {
app := fiber.New(fiber.Config{
DisableStartupMessage: true,
})
app.Use(New(Config{
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)
}