From c964fda009401ff37948a39da1ec7f427653c741 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Mon, 22 Aug 2022 13:57:10 +0800 Subject: [PATCH] v3(tests): use testify for assertion (#2036) * replace * write * rewrite more * rewrite * rewrite * fix * rewrite --- addon/retry/exponential_backoff_test.go | 5 +- app_test.go | 617 ++++++------ bind_test.go | 448 ++++----- binder/mapping_test.go | 20 +- client_test.go | 315 +++---- ctx_test.go | 889 +++++++++--------- error_test.go | 22 +- go.mod | 4 + go.sum | 15 + helpers_test.go | 74 +- hooks_test.go | 30 +- internal/schema/doc.go | 16 +- listen_test.go | 88 +- middleware/basicauth/basicauth_test.go | 16 +- middleware/cache/cache_test.go | 209 ++-- middleware/compress/compress_test.go | 66 +- middleware/cors/cors_test.go | 38 +- middleware/csrf/csrf_test.go | 47 +- .../encryptcookie/encryptcookie_test.go | 48 +- middleware/etag/etag_test.go | 62 +- middleware/expvar/expvar_test.go | 42 +- middleware/favicon/favicon_test.go | 48 +- middleware/filesystem/filesystem_test.go | 30 +- middleware/helmet/helmet_test.go | 38 +- middleware/limiter/limiter_test.go | 92 +- middleware/logger/logger_test.go | 94 +- middleware/pprof/pprof_test.go | 32 +- middleware/proxy/proxy_test.go | 117 +-- middleware/recover/recover_test.go | 16 +- middleware/requestid/requestid_test.go | 24 +- middleware/session/session.go | 2 +- middleware/session/session_test.go | 154 +-- middleware/session/store_test.go | 10 +- middleware/skip/skip_test.go | 14 +- path_test.go | 51 +- prefork_test.go | 32 +- router_test.go | 269 +++--- utils/assertions.go | 67 -- utils/assertions_test.go | 14 - utils/bytes_test.go | 32 +- utils/byteseq_test.go | 32 +- utils/common_test.go | 60 +- utils/convert_test.go | 26 +- utils/http_test.go | 54 +- utils/json_test.go | 14 +- utils/strings_test.go | 22 +- utils/xml_test.go | 10 +- 47 files changed, 2185 insertions(+), 2240 deletions(-) delete mode 100644 utils/assertions.go delete mode 100644 utils/assertions_test.go diff --git a/addon/retry/exponential_backoff_test.go b/addon/retry/exponential_backoff_test.go index aa8fd9df..3f4edd62 100644 --- a/addon/retry/exponential_backoff_test.go +++ b/addon/retry/exponential_backoff_test.go @@ -2,9 +2,10 @@ package retry import ( "fmt" - "github.com/gofiber/fiber/v3/utils" "testing" "time" + + "github.com/stretchr/testify/require" ) func TestExponentialBackoff_Retry(t *testing.T) { @@ -59,7 +60,7 @@ func TestExponentialBackoff_Retry(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { err := tt.expBackoff.Retry(tt.f) - utils.AssertEqual(t, tt.expErr, err) + require.Equal(t, tt.expErr, err) }) } } diff --git a/app_test.go b/app_test.go index 28faf5df..5a3dc314 100644 --- a/app_test.go +++ b/app_test.go @@ -20,7 +20,7 @@ import ( "testing" "time" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -34,17 +34,17 @@ func testStatus200(t *testing.T, app *App, url string, method string) { req := httptest.NewRequest(method, url, nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") } func testErrorResponse(t *testing.T, err error, resp *http.Response, expectedBodyError string) { - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 500, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 500, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, expectedBodyError, string(body), "Response body") + require.NoError(t, err) + require.Equal(t, expectedBodyError, string(body), "Response body") } func Test_App_MethodNotAllowed(t *testing.T) { @@ -59,41 +59,41 @@ func Test_App_MethodNotAllowed(t *testing.T) { app.Options("/", testEmptyHandler) resp, err := app.Test(httptest.NewRequest(MethodPost, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) - utils.AssertEqual(t, "", resp.Header.Get(HeaderAllow)) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) + require.Equal(t, "", resp.Header.Get(HeaderAllow)) resp, err = app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 405, resp.StatusCode) - utils.AssertEqual(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow)) + require.NoError(t, err) + require.Equal(t, 405, resp.StatusCode) + require.Equal(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow)) resp, err = app.Test(httptest.NewRequest(MethodPatch, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 405, resp.StatusCode) - utils.AssertEqual(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow)) + require.NoError(t, err) + require.Equal(t, 405, resp.StatusCode) + require.Equal(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow)) resp, err = app.Test(httptest.NewRequest(MethodPut, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 405, resp.StatusCode) - utils.AssertEqual(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow)) + require.NoError(t, err) + require.Equal(t, 405, resp.StatusCode) + require.Equal(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow)) app.Get("/", testEmptyHandler) resp, err = app.Test(httptest.NewRequest(MethodTrace, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 405, resp.StatusCode) - utils.AssertEqual(t, "GET, HEAD, POST, OPTIONS", resp.Header.Get(HeaderAllow)) + require.NoError(t, err) + require.Equal(t, 405, resp.StatusCode) + require.Equal(t, "GET, HEAD, POST, OPTIONS", resp.Header.Get(HeaderAllow)) resp, err = app.Test(httptest.NewRequest(MethodPatch, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 405, resp.StatusCode) - utils.AssertEqual(t, "GET, HEAD, POST, OPTIONS", resp.Header.Get(HeaderAllow)) + require.NoError(t, err) + require.Equal(t, 405, resp.StatusCode) + require.Equal(t, "GET, HEAD, POST, OPTIONS", resp.Header.Get(HeaderAllow)) resp, err = app.Test(httptest.NewRequest(MethodPut, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 405, resp.StatusCode) - utils.AssertEqual(t, "GET, HEAD, POST, OPTIONS", resp.Header.Get(HeaderAllow)) + require.NoError(t, err) + require.Equal(t, 405, resp.StatusCode) + require.Equal(t, "GET, HEAD, POST, OPTIONS", resp.Header.Get(HeaderAllow)) } func Test_App_Custom_Middleware_404_Should_Not_SetMethodNotAllowed(t *testing.T) { @@ -106,8 +106,8 @@ func Test_App_Custom_Middleware_404_Should_Not_SetMethodNotAllowed(t *testing.T) app.Post("/", testEmptyHandler) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 404, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 404, resp.StatusCode) g := app.Group("/with-next", func(c Ctx) error { return c.Status(404).Next() @@ -116,8 +116,8 @@ func Test_App_Custom_Middleware_404_Should_Not_SetMethodNotAllowed(t *testing.T) g.Post("/", testEmptyHandler) resp, err = app.Test(httptest.NewRequest(MethodGet, "/with-next", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 404, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 404, resp.StatusCode) } func Test_App_ServerErrorHandler_SmallReadBuffer(t *testing.T) { @@ -139,12 +139,7 @@ func Test_App_ServerErrorHandler_SmallReadBuffer(t *testing.T) { t.Error("Expect an error at app.Test(request)") } - utils.AssertEqual( - t, - true, - expectedError.MatchString(err.Error()), - fmt.Sprintf("Has: %s, expected pattern: %s", err.Error(), expectedError.String()), - ) + require.Regexp(t, expectedError, err.Error()) } func Test_App_Errors(t *testing.T) { @@ -157,16 +152,16 @@ func Test_App_Errors(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 500, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 500, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "hi, i'm an error", string(body)) + require.NoError(t, err) + require.Equal(t, "hi, i'm an error", string(body)) _, err = app.Test(httptest.NewRequest(MethodGet, "/", strings.NewReader("big body"))) if err != nil { - utils.AssertEqual(t, "body size exceeds the given limit", err.Error(), "app.Test(req)") + require.Equal(t, "body size exceeds the given limit", err.Error(), "app.Test(req)") } } @@ -182,28 +177,28 @@ func Test_App_ErrorHandler_Custom(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "hi, i'm an custom error", string(body)) + require.NoError(t, err) + require.Equal(t, "hi, i'm an custom error", string(body)) } func Test_App_ErrorHandler_HandlerStack(t *testing.T) { app := New(Config{ ErrorHandler: func(c Ctx, err error) error { - utils.AssertEqual(t, "1: USE error", err.Error()) + require.Equal(t, "1: USE error", err.Error()) return DefaultErrorHandler(c, err) }, }) app.Use("/", func(c Ctx) error { err := c.Next() // call next USE - utils.AssertEqual(t, "2: USE error", err.Error()) + require.Equal(t, "2: USE error", err.Error()) return errors.New("1: USE error") }, func(c Ctx) error { err := c.Next() // call [0] GET - utils.AssertEqual(t, "0: GET error", err.Error()) + require.Equal(t, "0: GET error", err.Error()) return errors.New("2: USE error") }) app.Get("/", func(c Ctx) error { @@ -211,24 +206,24 @@ func Test_App_ErrorHandler_HandlerStack(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 500, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 500, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "1: USE error", string(body)) + require.NoError(t, err) + require.Equal(t, "1: USE error", string(body)) } func Test_App_ErrorHandler_RouteStack(t *testing.T) { app := New(Config{ ErrorHandler: func(c Ctx, err error) error { - utils.AssertEqual(t, "1: USE error", err.Error()) + require.Equal(t, "1: USE error", err.Error()) return DefaultErrorHandler(c, err) }, }) app.Use("/", func(c Ctx) error { err := c.Next() - utils.AssertEqual(t, "0: GET error", err.Error()) + require.Equal(t, "0: GET error", err.Error()) return errors.New("1: USE error") // [2] call ErrorHandler }) app.Get("/test", func(c Ctx) error { @@ -236,18 +231,18 @@ func Test_App_ErrorHandler_RouteStack(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 500, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 500, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "1: USE error", string(body)) + require.NoError(t, err) + require.Equal(t, "1: USE error", string(body)) } func Test_App_ErrorHandler_GroupMount(t *testing.T) { micro := New(Config{ ErrorHandler: func(c Ctx, err error) error { - utils.AssertEqual(t, "0: GET error", err.Error()) + require.Equal(t, "0: GET error", err.Error()) return c.Status(500).SendString("1: custom error") }, }) @@ -266,7 +261,7 @@ func Test_App_ErrorHandler_GroupMount(t *testing.T) { func Test_App_ErrorHandler_GroupMountRootLevel(t *testing.T) { micro := New(Config{ ErrorHandler: func(c Ctx, err error) error { - utils.AssertEqual(t, "0: GET error", err.Error()) + require.Equal(t, "0: GET error", err.Error()) return c.Status(500).SendString("1: custom error") }, }) @@ -301,8 +296,8 @@ func Test_App_Nested_Params(t *testing.T) { req := httptest.NewRequest(MethodGet, "/test/john/test/doe", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") } // go test -run Test_App_Mount @@ -316,45 +311,45 @@ func Test_App_Mount(t *testing.T) { app.Mount("/john", micro) resp, err := app.Test(httptest.NewRequest(MethodGet, "/john/doe", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, uint32(2), app.handlersCount) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.Equal(t, uint32(2), app.handlersCount) } func Test_App_Use_Params(t *testing.T) { app := New() app.Use("/prefix/:param", func(c Ctx) error { - utils.AssertEqual(t, "john", c.Params("param")) + require.Equal(t, "john", c.Params("param")) return nil }) app.Use("/foo/:bar?", func(c Ctx) error { - utils.AssertEqual(t, "foobar", c.Params("bar", "foobar")) + require.Equal(t, "foobar", c.Params("bar", "foobar")) return nil }) app.Use("/:param/*", func(c Ctx) error { - utils.AssertEqual(t, "john", c.Params("param")) - utils.AssertEqual(t, "doe", c.Params("*")) + require.Equal(t, "john", c.Params("param")) + require.Equal(t, "doe", c.Params("*")) return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/prefix/john", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/john/doe", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/foo", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") defer func() { if err := recover(); err != nil { - utils.AssertEqual(t, "use: invalid handler func()\n", fmt.Sprintf("%v", err)) + require.Equal(t, "use: invalid handler func()\n", fmt.Sprintf("%v", err)) } }() @@ -367,28 +362,28 @@ func Test_App_Use_UnescapedPath(t *testing.T) { app := New(Config{UnescapePath: true, CaseSensitive: true}) app.Use("/cRéeR/:param", func(c Ctx) error { - utils.AssertEqual(t, "/cRéeR/اختبار", c.Path()) + require.Equal(t, "/cRéeR/اختبار", c.Path()) return c.SendString(c.Params("param")) }) app.Use("/abc", func(c Ctx) error { - utils.AssertEqual(t, "/AbC", c.Path()) + require.Equal(t, "/AbC", c.Path()) return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/cR%C3%A9eR/%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") + require.NoError(t, err, "app.Test(req)") // check the param result - utils.AssertEqual(t, "اختبار", app.getString(body)) + require.Equal(t, "اختبار", app.getString(body)) // with lowercase letters resp, err = app.Test(httptest.NewRequest(MethodGet, "/cr%C3%A9er/%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusNotFound, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusNotFound, resp.StatusCode, "Status code") } func Test_App_Use_CaseSensitive(t *testing.T) { @@ -400,32 +395,32 @@ func Test_App_Use_CaseSensitive(t *testing.T) { // wrong letters in the requested route -> 404 resp, err := app.Test(httptest.NewRequest(MethodGet, "/AbC", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusNotFound, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusNotFound, resp.StatusCode, "Status code") // right letters in the requrested route -> 200 resp, err = app.Test(httptest.NewRequest(MethodGet, "/abc", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") // check the detected path when the case insensitive recognition is activated app.config.CaseSensitive = false // check the case sensitive feature resp, err = app.Test(httptest.NewRequest(MethodGet, "/AbC", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") + require.NoError(t, err, "app.Test(req)") // check the detected path result - utils.AssertEqual(t, "/AbC", app.getString(body)) + require.Equal(t, "/AbC", app.getString(body)) } func Test_App_Add_Method_Test(t *testing.T) { app := New() defer func() { if err := recover(); err != nil { - utils.AssertEqual(t, "add: invalid http method JOHN\n", fmt.Sprintf("%v", err)) + require.Equal(t, "add: invalid http method JOHN\n", fmt.Sprintf("%v", err)) } }() app.Add("JOHN", "/doe", testEmptyHandler) @@ -443,8 +438,8 @@ func Test_App_GETOnly(t *testing.T) { req := httptest.NewRequest(MethodPost, "/", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusMethodNotAllowed, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusMethodNotAllowed, resp.StatusCode, "Status code") } func Test_App_Use_Params_Group(t *testing.T) { @@ -455,14 +450,14 @@ func Test_App_Use_Params_Group(t *testing.T) { return c.Next() }) group.Get("/test", func(c Ctx) error { - utils.AssertEqual(t, "john", c.Params("param")) - utils.AssertEqual(t, "doe", c.Params("*")) + require.Equal(t, "john", c.Params("param")) + require.Equal(t, "doe", c.Params("*")) return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/prefix/john/doe/test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") } func Test_App_Chaining(t *testing.T) { @@ -474,13 +469,13 @@ func Test_App_Chaining(t *testing.T) { return c.SendStatus(202) }) // check handler count for registered HEAD route - utils.AssertEqual(t, 5, len(app.stack[methodInt(MethodHead)][0].Handlers), "app.Test(req)") + require.Equal(t, 5, len(app.stack[methodInt(MethodHead)][0].Handlers), "app.Test(req)") req := httptest.NewRequest(MethodPost, "/john", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 202, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 202, resp.StatusCode, "Status code") app.Get("/test", n, n, n, n, func(c Ctx) error { return c.SendStatus(203) @@ -489,8 +484,8 @@ func Test_App_Chaining(t *testing.T) { req = httptest.NewRequest(MethodGet, "/test", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 203, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 203, resp.StatusCode, "Status code") } func Test_App_Order(t *testing.T) { @@ -514,12 +509,12 @@ func Test_App_Order(t *testing.T) { req := httptest.NewRequest(MethodGet, "/test", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "123", string(body)) + require.NoError(t, err) + require.Equal(t, "123", string(body)) } func Test_App_Methods(t *testing.T) { @@ -582,12 +577,12 @@ func Test_App_Route_Naming(t *testing.T) { subGroup := jane.Group("/sub-group").Name("sub.") subGroup.Get("/done", handler).Name("done") - utils.AssertEqual(t, "post", app.GetRoute("post").Name) - utils.AssertEqual(t, "john", app.GetRoute("john").Name) - utils.AssertEqual(t, "jane.test", app.GetRoute("jane.test").Name) - utils.AssertEqual(t, "jane.trace", app.GetRoute("jane.trace").Name) - utils.AssertEqual(t, "jane.sub.done", app.GetRoute("jane.sub.done").Name) - utils.AssertEqual(t, "test", app.GetRoute("test").Name) + require.Equal(t, "post", app.GetRoute("post").Name) + require.Equal(t, "john", app.GetRoute("john").Name) + require.Equal(t, "jane.test", app.GetRoute("jane.test").Name) + require.Equal(t, "jane.trace", app.GetRoute("jane.trace").Name) + require.Equal(t, "jane.sub.done", app.GetRoute("jane.sub.done").Name) + require.Equal(t, "test", app.GetRoute("test").Name) } func Test_App_New(t *testing.T) { @@ -604,7 +599,7 @@ func Test_App_Config(t *testing.T) { app := New(Config{ DisableStartupMessage: true, }) - utils.AssertEqual(t, true, app.Config().DisableStartupMessage) + require.True(t, app.Config().DisableStartupMessage) } func Test_App_Shutdown(t *testing.T) { @@ -612,7 +607,7 @@ func Test_App_Shutdown(t *testing.T) { app := New(Config{ DisableStartupMessage: true, }) - utils.AssertEqual(t, true, app.Shutdown() == nil) + require.True(t, app.Shutdown() == nil) }) t.Run("no server", func(t *testing.T) { @@ -634,24 +629,24 @@ func Test_App_Static_Index_Default(t *testing.T) { app.Static("test", "", Static{Index: "index.html"}) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, strings.Contains(string(body), "Hello, World!")) + require.NoError(t, err) + require.True(t, strings.Contains(string(body), "Hello, World!")) resp, err = app.Test(httptest.NewRequest(MethodGet, "/not-found", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 404, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextPlainCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 404, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextPlainCharsetUTF8, resp.Header.Get(HeaderContentType)) body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "Cannot GET /not-found", string(body)) + require.NoError(t, err) + require.Equal(t, "Cannot GET /not-found", string(body)) } // go test -run Test_App_Static_Index @@ -661,25 +656,25 @@ func Test_App_Static_Direct(t *testing.T) { app.Static("/", "./.github") resp, err := app.Test(httptest.NewRequest(MethodGet, "/index.html", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, strings.Contains(string(body), "Hello, World!")) + require.NoError(t, err) + require.True(t, strings.Contains(string(body), "Hello, World!")) resp, err = app.Test(httptest.NewRequest(MethodGet, "/testdata/testRoutes.json", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMEApplicationJSON, resp.Header.Get("Content-Type")) - utils.AssertEqual(t, "", resp.Header.Get(HeaderCacheControl), "CacheControl Control") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMEApplicationJSON, resp.Header.Get("Content-Type")) + require.Equal(t, "", resp.Header.Get(HeaderCacheControl), "CacheControl Control") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, strings.Contains(string(body), "testRoutes")) + require.NoError(t, err) + require.True(t, strings.Contains(string(body), "testRoutes")) } // go test -run Test_App_Static_MaxAge @@ -689,11 +684,11 @@ func Test_App_Static_MaxAge(t *testing.T) { app.Static("/", "./.github", Static{MaxAge: 100}) resp, err := app.Test(httptest.NewRequest("GET", "/index.html", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, "text/html; charset=utf-8", resp.Header.Get(HeaderContentType)) - utils.AssertEqual(t, "public, max-age=100", resp.Header.Get(HeaderCacheControl), "CacheControl Control") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, "text/html; charset=utf-8", resp.Header.Get(HeaderContentType)) + require.Equal(t, "public, max-age=100", resp.Header.Get(HeaderCacheControl), "CacheControl Control") } // go test -run Test_App_Static_Download @@ -703,11 +698,11 @@ func Test_App_Static_Download(t *testing.T) { app.Static("/fiber.png", "./.github/testdata/fs/img/fiber.png", Static{Download: true}) resp, err := app.Test(httptest.NewRequest("GET", "/fiber.png", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, "image/png", resp.Header.Get(HeaderContentType)) - utils.AssertEqual(t, `attachment`, resp.Header.Get(HeaderContentDisposition)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, "image/png", resp.Header.Get(HeaderContentType)) + require.Equal(t, `attachment`, resp.Header.Get(HeaderContentDisposition)) } // go test -run Test_App_Static_Group @@ -723,21 +718,21 @@ func Test_App_Static_Group(t *testing.T) { req := httptest.NewRequest(MethodGet, "/v1/v2", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) - utils.AssertEqual(t, "123", resp.Header.Get("Test-Header")) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.Equal(t, "123", resp.Header.Get("Test-Header")) grp = app.Group("/v2") grp.Static("/v3*", "./.github/index.html") req = httptest.NewRequest(MethodGet, "/v2/v3/john/doe", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) } func Test_App_Static_Wildcard(t *testing.T) { @@ -747,14 +742,14 @@ func Test_App_Static_Wildcard(t *testing.T) { req := httptest.NewRequest(MethodGet, "/yesyes/john/doe", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, strings.Contains(string(body), "Test file")) + require.NoError(t, err) + require.True(t, strings.Contains(string(body), "Test file")) } func Test_App_Static_Prefix_Wildcard(t *testing.T) { @@ -764,22 +759,22 @@ func Test_App_Static_Prefix_Wildcard(t *testing.T) { req := httptest.NewRequest(MethodGet, "/test/john/doe", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) app.Static("/my/nameisjohn*", "./.github/index.html") resp, err = app.Test(httptest.NewRequest(MethodGet, "/my/nameisjohn/no/its/not", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, strings.Contains(string(body), "Test file")) + require.NoError(t, err) + require.True(t, strings.Contains(string(body), "Test file")) } func Test_App_Static_Prefix(t *testing.T) { @@ -788,28 +783,28 @@ func Test_App_Static_Prefix(t *testing.T) { req := httptest.NewRequest(MethodGet, "/john/index.html", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) app.Static("/prefix", "./.github/testdata") req = httptest.NewRequest(MethodGet, "/prefix/index.html", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) app.Static("/single", "./.github/testdata/testRoutes.json") req = httptest.NewRequest(MethodGet, "/single", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMEApplicationJSON, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMEApplicationJSON, resp.Header.Get(HeaderContentType)) } func Test_App_Static_Trailing_Slash(t *testing.T) { @@ -818,44 +813,44 @@ func Test_App_Static_Trailing_Slash(t *testing.T) { req := httptest.NewRequest(MethodGet, "/john/", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) app.Static("/john_without_index", "./.github/testdata/fs/css") req = httptest.NewRequest(MethodGet, "/john_without_index/", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 404, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextPlainCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 404, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextPlainCharsetUTF8, resp.Header.Get(HeaderContentType)) app.Static("/john/", "./.github") req = httptest.NewRequest(MethodGet, "/john/", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) req = httptest.NewRequest(MethodGet, "/john", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) app.Static("/john_without_index/", "./.github/testdata/fs/css") req = httptest.NewRequest(MethodGet, "/john_without_index/", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 404, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextPlainCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 404, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextPlainCharsetUTF8, resp.Header.Get(HeaderContentType)) } func Test_App_Static_Next(t *testing.T) { @@ -875,28 +870,28 @@ func Test_App_Static_Next(t *testing.T) { req := httptest.NewRequest("GET", "/", nil) req.Header.Set("X-Custom-Header", "skip") resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextPlainCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextPlainCharsetUTF8, resp.Header.Get(HeaderContentType)) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, strings.Contains(string(body), "You've skipped app.Static")) + require.NoError(t, err) + require.True(t, strings.Contains(string(body), "You've skipped app.Static")) }) t.Run("app.Static is not skipped: serving index.html", func(t *testing.T) { req := httptest.NewRequest("GET", "/", nil) req.Header.Set("X-Custom-Header", "don't skip") resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, MIMETextHTMLCharsetUTF8, resp.Header.Get(HeaderContentType)) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, strings.Contains(string(body), "Hello, World!")) + require.NoError(t, err) + require.True(t, strings.Contains(string(body), "Hello, World!")) }) } @@ -919,35 +914,35 @@ func Test_App_Mixed_Routes_WithSameLen(t *testing.T) { // match get route req := httptest.NewRequest(MethodGet, "/foobar", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, "TestValue", resp.Header.Get("TestHeader")) - utils.AssertEqual(t, "text/html", resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, "TestValue", resp.Header.Get("TestHeader")) + require.Equal(t, "text/html", resp.Header.Get(HeaderContentType)) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "FOO_BAR", string(body)) + require.NoError(t, err) + require.Equal(t, "FOO_BAR", string(body)) // match static route req = httptest.NewRequest(MethodGet, "/tesbar", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, resp.Header.Get(HeaderContentLength) == "") - utils.AssertEqual(t, "TestValue", resp.Header.Get("TestHeader")) - utils.AssertEqual(t, "text/html; charset=utf-8", resp.Header.Get(HeaderContentType)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.False(t, resp.Header.Get(HeaderContentLength) == "") + require.Equal(t, "TestValue", resp.Header.Get("TestHeader")) + require.Equal(t, "text/html; charset=utf-8", resp.Header.Get(HeaderContentType)) body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, strings.Contains(string(body), "Hello, World!"), "Response: "+string(body)) - utils.AssertEqual(t, true, strings.HasPrefix(string(body), ""), "Response: "+string(body)) + require.NoError(t, err) + require.True(t, strings.Contains(string(body), "Hello, World!"), "Response: "+string(body)) + require.True(t, strings.HasPrefix(string(body), ""), "Response: "+string(body)) } func Test_App_Group_Invalid(t *testing.T) { defer func() { if err := recover(); err != nil { - utils.AssertEqual(t, "use: invalid handler int\n", fmt.Sprintf("%v", err)) + require.Equal(t, "use: invalid handler int\n", fmt.Sprintf("%v", err)) } }() New().Group("/").Use(1) @@ -965,9 +960,9 @@ func Test_App_Group_Mount(t *testing.T) { v1.Mount("/john", micro) resp, err := app.Test(httptest.NewRequest(MethodGet, "/v1/john/doe", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, uint32(2), app.handlersCount) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.Equal(t, uint32(2), app.handlersCount) } func Test_App_Group(t *testing.T) { @@ -1019,14 +1014,14 @@ func Test_App_Group(t *testing.T) { api.Post("/", dummyHandler) resp, err := app.Test(httptest.NewRequest(MethodPost, "/test/v1/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") // utils.AssertEqual(t, "/test/v1", resp.Header.Get("Location"), "Location") api.Get("/users", dummyHandler) resp, err = app.Test(httptest.NewRequest(MethodGet, "/test/v1/UsErS", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") // utils.AssertEqual(t, "/test/v1/users", resp.Header.Get("Location"), "Location") } @@ -1071,12 +1066,12 @@ func Test_App_Route(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodPost, "/test/v1/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/test/v1/UsErS", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") } func Test_App_Deep_Group(t *testing.T) { @@ -1095,7 +1090,7 @@ func Test_App_Deep_Group(t *testing.T) { return c.SendStatus(200) }) testStatus200(t, app, "/api/v1/user/authenticate", MethodGet) - utils.AssertEqual(t, 4, runThroughCount, "Loop count") + require.Equal(t, 4, runThroughCount, "Loop count") } // go test -run Test_App_Next_Method @@ -1104,15 +1099,15 @@ func Test_App_Next_Method(t *testing.T) { app.config.DisableStartupMessage = true app.Use(func(c Ctx) error { - utils.AssertEqual(t, MethodGet, c.Method()) + require.Equal(t, MethodGet, c.Method()) err := c.Next() - utils.AssertEqual(t, MethodGet, c.Method()) + require.Equal(t, MethodGet, c.Method()) return err }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 404, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 404, resp.StatusCode, "Status code") } // go test -v -run=^$ -bench=Benchmark_AcquireCtx -benchmem -count=4 @@ -1136,8 +1131,8 @@ func Benchmark_NewError(b *testing.B) { // go test -run Test_NewError func Test_NewError(t *testing.T) { e := NewError(StatusForbidden, "permission denied") - utils.AssertEqual(t, StatusForbidden, e.Code) - utils.AssertEqual(t, "permission denied", e.Message) + require.Equal(t, StatusForbidden, e.Code) + require.Equal(t, "permission denied", e.Message) } // go test -run Test_Test_Timeout @@ -1148,8 +1143,8 @@ func Test_Test_Timeout(t *testing.T) { app.Get("/", testEmptyHandler) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", nil), -1) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") app.Get("timeout", func(c Ctx) error { time.Sleep(200 * time.Millisecond) @@ -1157,7 +1152,7 @@ func Test_Test_Timeout(t *testing.T) { }) _, err = app.Test(httptest.NewRequest(MethodGet, "/timeout", nil), 20) - utils.AssertEqual(t, true, err != nil, "app.Test(req)") + require.True(t, err != nil, "app.Test(req)") } type errorReader int @@ -1174,14 +1169,14 @@ func Test_Test_DumpError(t *testing.T) { app.Get("/", testEmptyHandler) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", errorReader(0))) - utils.AssertEqual(t, true, resp == nil) - utils.AssertEqual(t, "errorReader", err.Error()) + require.True(t, resp == nil) + require.Equal(t, "errorReader", err.Error()) } // go test -run Test_App_Handler func Test_App_Handler(t *testing.T) { h := New().Handler() - utils.AssertEqual(t, "fasthttp.RequestHandler", reflect.TypeOf(h).String()) + require.Equal(t, "fasthttp.RequestHandler", reflect.TypeOf(h).String()) } type invalidView struct{} @@ -1196,7 +1191,7 @@ func Test_App_Init_Error_View(t *testing.T) { defer func() { if err := recover(); err != nil { - utils.AssertEqual(t, "implement me", fmt.Sprintf("%v", err)) + require.Equal(t, "implement me", fmt.Sprintf("%v", err)) } }() _ = app.config.Views.Render(nil, "", nil) @@ -1212,16 +1207,16 @@ func Test_App_Stack(t *testing.T) { app.Post("/path3", testEmptyHandler) stack := app.Stack() - utils.AssertEqual(t, 9, len(stack)) - utils.AssertEqual(t, 3, len(stack[methodInt(MethodGet)])) - utils.AssertEqual(t, 3, len(stack[methodInt(MethodHead)])) - utils.AssertEqual(t, 2, len(stack[methodInt(MethodPost)])) - utils.AssertEqual(t, 1, len(stack[methodInt(MethodPut)])) - utils.AssertEqual(t, 1, len(stack[methodInt(MethodPatch)])) - utils.AssertEqual(t, 1, len(stack[methodInt(MethodDelete)])) - utils.AssertEqual(t, 1, len(stack[methodInt(MethodConnect)])) - utils.AssertEqual(t, 1, len(stack[methodInt(MethodOptions)])) - utils.AssertEqual(t, 1, len(stack[methodInt(MethodTrace)])) + require.Equal(t, 9, len(stack)) + require.Equal(t, 3, len(stack[methodInt(MethodGet)])) + require.Equal(t, 3, len(stack[methodInt(MethodHead)])) + require.Equal(t, 2, len(stack[methodInt(MethodPost)])) + require.Equal(t, 1, len(stack[methodInt(MethodPut)])) + require.Equal(t, 1, len(stack[methodInt(MethodPatch)])) + require.Equal(t, 1, len(stack[methodInt(MethodDelete)])) + require.Equal(t, 1, len(stack[methodInt(MethodConnect)])) + require.Equal(t, 1, len(stack[methodInt(MethodOptions)])) + require.Equal(t, 1, len(stack[methodInt(MethodTrace)])) } // go test -run Test_App_HandlersCount @@ -1233,7 +1228,7 @@ func Test_App_HandlersCount(t *testing.T) { app.Post("/path3", testEmptyHandler) count := app.HandlersCount() - utils.AssertEqual(t, uint32(4), count) + require.Equal(t, uint32(4), count) } // go test -run Test_App_ReadTimeout @@ -1253,23 +1248,23 @@ func Test_App_ReadTimeout(t *testing.T) { time.Sleep(500 * time.Millisecond) conn, err := net.Dial(NetworkTCP4, "127.0.0.1:4004") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) defer conn.Close() _, err = conn.Write([]byte("HEAD /read-timeout HTTP/1.1\r\n")) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) buf := make([]byte, 1024) var n int n, err = conn.Read(buf) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, bytes.Contains(buf[:n], []byte("408 Request Timeout"))) + require.NoError(t, err) + require.True(t, bytes.Contains(buf[:n], []byte("408 Request Timeout"))) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.Listen(":4004")) + require.Nil(t, app.Listen(":4004")) } // go test -run Test_App_BadRequest @@ -1285,23 +1280,23 @@ func Test_App_BadRequest(t *testing.T) { go func() { time.Sleep(500 * time.Millisecond) conn, err := net.Dial(NetworkTCP4, "127.0.0.1:4005") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) defer conn.Close() _, err = conn.Write([]byte("BadRequest\r\n")) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) buf := make([]byte, 1024) var n int n, err = conn.Read(buf) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) - utils.AssertEqual(t, true, bytes.Contains(buf[:n], []byte("400 Bad Request"))) + require.True(t, bytes.Contains(buf[:n], []byte("400 Bad Request"))) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.Listen(":4005")) + require.Nil(t, app.Listen(":4005")) } // go test -run Test_App_SmallReadBuffer @@ -1319,19 +1314,19 @@ func Test_App_SmallReadBuffer(t *testing.T) { time.Sleep(500 * time.Millisecond) resp, err := http.Get("http://127.0.0.1:4006/small-read-buffer") if resp != nil { - utils.AssertEqual(t, 431, resp.StatusCode) + require.Equal(t, 431, resp.StatusCode) } - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, nil, app.Shutdown()) + require.NoError(t, err) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.Listen(":4006")) + require.Nil(t, app.Listen(":4006")) } func Test_App_Server(t *testing.T) { app := New() - utils.AssertEqual(t, false, app.Server() == nil) + require.False(t, app.Server() == nil) } func Test_App_Error_In_Fasthttp_Server(t *testing.T) { @@ -1342,8 +1337,8 @@ func Test_App_Error_In_Fasthttp_Server(t *testing.T) { app.server.GetOnly = true resp, err := app.Test(httptest.NewRequest(MethodPost, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 500, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 500, resp.StatusCode) } // go test -race -run Test_App_New_Test_Parallel @@ -1368,10 +1363,10 @@ func Test_App_ReadBodyStream(t *testing.T) { }) testString := "this is a test" resp, err := app.Test(httptest.NewRequest("POST", "/", bytes.NewBufferString(testString))) - utils.AssertEqual(t, nil, err, "app.Test(req)") + require.NoError(t, err, "app.Test(req)") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "io.ReadAll(resp.Body)") - utils.AssertEqual(t, fmt.Sprintf("true %s", testString), string(body)) + require.NoError(t, err, "io.ReadAll(resp.Body)") + require.Equal(t, fmt.Sprintf("true %s", testString), string(body)) } func Test_App_DisablePreParseMultipartForm(t *testing.T) { @@ -1405,20 +1400,20 @@ func Test_App_DisablePreParseMultipartForm(t *testing.T) { b := &bytes.Buffer{} w := multipart.NewWriter(b) writer, err := w.CreateFormFile("test", "test") - utils.AssertEqual(t, nil, err, "w.CreateFormFile") + require.NoError(t, err, "w.CreateFormFile") n, err := writer.Write([]byte(testString)) - utils.AssertEqual(t, nil, err, "writer.Write") - utils.AssertEqual(t, len(testString), n, "writer n") - utils.AssertEqual(t, nil, w.Close(), "w.Close()") + require.NoError(t, err, "writer.Write") + require.Equal(t, len(testString), n, "writer n") + require.Nil(t, w.Close(), "w.Close()") req := httptest.NewRequest("POST", "/", b) req.Header.Set("Content-Type", w.FormDataContentType()) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") + require.NoError(t, err, "app.Test(req)") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "io.ReadAll(resp.Body)") + require.NoError(t, err, "io.ReadAll(resp.Body)") - utils.AssertEqual(t, testString, string(body)) + require.Equal(t, testString, string(body)) } func Test_App_UseMountedErrorHandler(t *testing.T) { @@ -1495,20 +1490,20 @@ func Test_App_UseMountedErrorHandlerForBestPrefixMatch(t *testing.T) { app.Mount("/api", fiber) resp, err := app.Test(httptest.NewRequest(MethodGet, "/api/sub", nil)) - utils.AssertEqual(t, nil, err, "/api/sub req") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "/api/sub req") + require.Equal(t, 200, resp.StatusCode, "Status code") b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "iotuil.ReadAll()") - utils.AssertEqual(t, "hi, i'm a custom sub fiber error", string(b), "Response body") + require.NoError(t, err, "iotuil.ReadAll()") + require.Equal(t, "hi, i'm a custom sub fiber error", string(b), "Response body") resp2, err := app.Test(httptest.NewRequest(MethodGet, "/api/sub/third", nil)) - utils.AssertEqual(t, nil, err, "/api/sub/third req") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "/api/sub/third req") + require.Equal(t, 200, resp.StatusCode, "Status code") b, err = io.ReadAll(resp2.Body) - utils.AssertEqual(t, nil, err, "iotuil.ReadAll()") - utils.AssertEqual(t, "hi, i'm a custom sub sub fiber error", string(b), "Third fiber Response body") + require.NoError(t, err, "iotuil.ReadAll()") + require.Equal(t, "hi, i'm a custom sub sub fiber error", string(b), "Third fiber Response body") } func Test_App_Test_no_timeout_infinitely(t *testing.T) { diff --git a/bind_test.go b/bind_test.go index 6d64f8e0..090f76db 100644 --- a/bind_test.go +++ b/bind_test.go @@ -12,7 +12,7 @@ import ( "time" "github.com/gofiber/fiber/v3/binder" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -31,23 +31,23 @@ func Test_Bind_Query(t *testing.T) { c.Request().Header.SetContentType("") c.Request().URI().SetQueryString("id=1&name=tom&hobby=basketball&hobby=football") q := new(Query) - utils.AssertEqual(t, nil, c.Bind().Query(q)) - utils.AssertEqual(t, 2, len(q.Hobby)) + require.Nil(t, c.Bind().Query(q)) + require.Equal(t, 2, len(q.Hobby)) c.Request().URI().SetQueryString("id=1&name=tom&hobby=basketball,football") q = new(Query) - utils.AssertEqual(t, nil, c.Bind().Query(q)) - utils.AssertEqual(t, 2, len(q.Hobby)) + require.Nil(t, c.Bind().Query(q)) + require.Equal(t, 2, len(q.Hobby)) c.Request().URI().SetQueryString("id=1&name=tom&hobby=scoccer&hobby=basketball,football") q = new(Query) - utils.AssertEqual(t, nil, c.Bind().Query(q)) - utils.AssertEqual(t, 3, len(q.Hobby)) + require.Nil(t, c.Bind().Query(q)) + require.Equal(t, 3, len(q.Hobby)) empty := new(Query) c.Request().URI().SetQueryString("") - utils.AssertEqual(t, nil, c.Bind().Query(empty)) - utils.AssertEqual(t, 0, len(empty.Hobby)) + require.Nil(t, c.Bind().Query(empty)) + require.Equal(t, 0, len(empty.Hobby)) type Query2 struct { Bool bool @@ -64,30 +64,30 @@ func Test_Bind_Query(t *testing.T) { q2 := new(Query2) q2.Bool = true q2.Name = "hello world" - utils.AssertEqual(t, nil, c.Bind().Query(q2)) - utils.AssertEqual(t, "basketball,football", q2.Hobby) - utils.AssertEqual(t, true, q2.Bool) - utils.AssertEqual(t, "tom", q2.Name) // check value get overwritten - utils.AssertEqual(t, []string{"milo", "coke", "pepsi"}, q2.FavouriteDrinks) + require.Nil(t, c.Bind().Query(q2)) + require.Equal(t, "basketball,football", q2.Hobby) + require.True(t, q2.Bool) + require.Equal(t, "tom", q2.Name) // check value get overwritten + require.Equal(t, []string{"milo", "coke", "pepsi"}, q2.FavouriteDrinks) var nilSlice []string - utils.AssertEqual(t, nilSlice, q2.Empty) - utils.AssertEqual(t, []string{""}, q2.Alloc) - utils.AssertEqual(t, []int64{1}, q2.No) + require.Equal(t, nilSlice, q2.Empty) + require.Equal(t, []string{""}, q2.Alloc) + require.Equal(t, []int64{1}, q2.No) type RequiredQuery struct { Name string `query:"name,required"` } rq := new(RequiredQuery) c.Request().URI().SetQueryString("") - utils.AssertEqual(t, "name is empty", c.Bind().Query(rq).Error()) + require.Equal(t, "name is empty", c.Bind().Query(rq).Error()) type ArrayQuery struct { Data []string } aq := new(ArrayQuery) c.Request().URI().SetQueryString("data[]=john&data[]=doe") - utils.AssertEqual(t, nil, c.Bind().Query(aq)) - utils.AssertEqual(t, 2, len(aq.Data)) + require.Nil(t, c.Bind().Query(aq)) + require.Equal(t, 2, len(aq.Data)) } // go test -run Test_Bind_Query_Map -v @@ -101,32 +101,32 @@ func Test_Bind_Query_Map(t *testing.T) { c.Request().Header.SetContentType("") c.Request().URI().SetQueryString("id=1&name=tom&hobby=basketball&hobby=football") q := make(map[string][]string) - utils.AssertEqual(t, nil, c.Bind().Query(&q)) - utils.AssertEqual(t, 2, len(q["hobby"])) + require.Nil(t, c.Bind().Query(&q)) + require.Equal(t, 2, len(q["hobby"])) c.Request().URI().SetQueryString("id=1&name=tom&hobby=basketball,football") q = make(map[string][]string) - utils.AssertEqual(t, nil, c.Bind().Query(&q)) - utils.AssertEqual(t, 2, len(q["hobby"])) + require.Nil(t, c.Bind().Query(&q)) + require.Equal(t, 2, len(q["hobby"])) c.Request().URI().SetQueryString("id=1&name=tom&hobby=scoccer&hobby=basketball,football") q = make(map[string][]string) - utils.AssertEqual(t, nil, c.Bind().Query(&q)) - utils.AssertEqual(t, 3, len(q["hobby"])) + require.Nil(t, c.Bind().Query(&q)) + require.Equal(t, 3, len(q["hobby"])) c.Request().URI().SetQueryString("id=1&name=tom&hobby=scoccer") qq := make(map[string]string) - utils.AssertEqual(t, nil, c.Bind().Query(&qq)) - utils.AssertEqual(t, "1", qq["id"]) + require.Nil(t, c.Bind().Query(&qq)) + require.Equal(t, "1", qq["id"]) empty := make(map[string][]string) c.Request().URI().SetQueryString("") - utils.AssertEqual(t, nil, c.Bind().Query(&empty)) - utils.AssertEqual(t, 0, len(empty["hobby"])) + require.Nil(t, c.Bind().Query(&empty)) + require.Equal(t, 0, len(empty["hobby"])) em := make(map[string][]int) c.Request().URI().SetQueryString("") - utils.AssertEqual(t, binder.ErrMapNotConvertable, c.Bind().Query(&em)) + require.Equal(t, binder.ErrMapNotConvertable, c.Bind().Query(&em)) } // go test -run Test_Bind_Query_WithSetParserDecoder -v @@ -166,20 +166,20 @@ func Test_Bind_Query_WithSetParserDecoder(t *testing.T) { q := new(NonRFCTimeInput) c.Request().URI().SetQueryString("date=2021-04-10&title=CustomDateTest&Body=October") - utils.AssertEqual(t, nil, c.Bind().Query(q)) + require.Nil(t, c.Bind().Query(q)) fmt.Println(q.Date, "q.Date") - utils.AssertEqual(t, "CustomDateTest", q.Title) + require.Equal(t, "CustomDateTest", q.Title) date := fmt.Sprintf("%v", q.Date) - utils.AssertEqual(t, "{0 63753609600 }", date) - utils.AssertEqual(t, "October", q.Body) + require.Equal(t, "{0 63753609600 }", date) + require.Equal(t, "October", q.Body) c.Request().URI().SetQueryString("date=2021-04-10&title&Body=October") q = &NonRFCTimeInput{ Title: "Existing title", Body: "Existing Body", } - utils.AssertEqual(t, nil, c.Bind().Query(q)) - utils.AssertEqual(t, "", q.Title) + require.Nil(t, c.Bind().Query(q)) + require.Equal(t, "", q.Title) } // go test -run Test_Bind_Query_Schema -v @@ -198,19 +198,19 @@ func Test_Bind_Query_Schema(t *testing.T) { c.Request().Header.SetContentType("") c.Request().URI().SetQueryString("name=tom&nested.age=10") q := new(Query1) - utils.AssertEqual(t, nil, c.Bind().Query(q)) + require.Nil(t, c.Bind().Query(q)) c.Request().URI().SetQueryString("namex=tom&nested.age=10") q = new(Query1) - utils.AssertEqual(t, "name is empty", c.Bind().Query(q).Error()) + require.Equal(t, "name is empty", c.Bind().Query(q).Error()) c.Request().URI().SetQueryString("name=tom&nested.agex=10") q = new(Query1) - utils.AssertEqual(t, nil, c.Bind().Query(q)) + require.Nil(t, c.Bind().Query(q)) c.Request().URI().SetQueryString("name=tom&test.age=10") q = new(Query1) - utils.AssertEqual(t, "nested is empty", c.Bind().Query(q).Error()) + require.Equal(t, "nested is empty", c.Bind().Query(q).Error()) type Query2 struct { Name string `query:"name"` @@ -220,19 +220,19 @@ func Test_Bind_Query_Schema(t *testing.T) { } c.Request().URI().SetQueryString("name=tom&nested.age=10") q2 := new(Query2) - utils.AssertEqual(t, nil, c.Bind().Query(q2)) + require.Nil(t, c.Bind().Query(q2)) c.Request().URI().SetQueryString("nested.age=10") q2 = new(Query2) - utils.AssertEqual(t, nil, c.Bind().Query(q2)) + require.Nil(t, c.Bind().Query(q2)) c.Request().URI().SetQueryString("nested.agex=10") q2 = new(Query2) - utils.AssertEqual(t, "nested.age is empty", c.Bind().Query(q2).Error()) + require.Equal(t, "nested.age is empty", c.Bind().Query(q2).Error()) c.Request().URI().SetQueryString("nested.agex=10") q2 = new(Query2) - utils.AssertEqual(t, "nested.age is empty", c.Bind().Query(q2).Error()) + require.Equal(t, "nested.age is empty", c.Bind().Query(q2).Error()) type Node struct { Value int `query:"val,required"` @@ -240,20 +240,20 @@ func Test_Bind_Query_Schema(t *testing.T) { } c.Request().URI().SetQueryString("val=1&next.val=3") n := new(Node) - utils.AssertEqual(t, nil, c.Bind().Query(n)) - utils.AssertEqual(t, 1, n.Value) - utils.AssertEqual(t, 3, n.Next.Value) + require.Nil(t, c.Bind().Query(n)) + require.Equal(t, 1, n.Value) + require.Equal(t, 3, n.Next.Value) c.Request().URI().SetQueryString("next.val=2") n = new(Node) - utils.AssertEqual(t, "val is empty", c.Bind().Query(n).Error()) + require.Equal(t, "val is empty", c.Bind().Query(n).Error()) c.Request().URI().SetQueryString("val=3&next.value=2") n = new(Node) n.Next = new(Node) - utils.AssertEqual(t, nil, c.Bind().Query(n)) - utils.AssertEqual(t, 3, n.Value) - utils.AssertEqual(t, 0, n.Next.Value) + require.Nil(t, c.Bind().Query(n)) + require.Equal(t, 3, n.Value) + require.Equal(t, 0, n.Next.Value) type Person struct { Name string `query:"name"` @@ -266,21 +266,21 @@ func Test_Bind_Query_Schema(t *testing.T) { c.Request().URI().SetQueryString("data[0][name]=john&data[0][age]=10&data[1][name]=doe&data[1][age]=12") cq := new(CollectionQuery) - utils.AssertEqual(t, nil, c.Bind().Query(cq)) - utils.AssertEqual(t, 2, len(cq.Data)) - utils.AssertEqual(t, "john", cq.Data[0].Name) - utils.AssertEqual(t, 10, cq.Data[0].Age) - utils.AssertEqual(t, "doe", cq.Data[1].Name) - utils.AssertEqual(t, 12, cq.Data[1].Age) + require.Nil(t, c.Bind().Query(cq)) + require.Equal(t, 2, len(cq.Data)) + require.Equal(t, "john", cq.Data[0].Name) + require.Equal(t, 10, cq.Data[0].Age) + require.Equal(t, "doe", cq.Data[1].Name) + require.Equal(t, 12, cq.Data[1].Age) c.Request().URI().SetQueryString("data.0.name=john&data.0.age=10&data.1.name=doe&data.1.age=12") cq = new(CollectionQuery) - utils.AssertEqual(t, nil, c.Bind().Query(cq)) - utils.AssertEqual(t, 2, len(cq.Data)) - utils.AssertEqual(t, "john", cq.Data[0].Name) - utils.AssertEqual(t, 10, cq.Data[0].Age) - utils.AssertEqual(t, "doe", cq.Data[1].Name) - utils.AssertEqual(t, 12, cq.Data[1].Age) + require.Nil(t, c.Bind().Query(cq)) + require.Equal(t, 2, len(cq.Data)) + require.Equal(t, "john", cq.Data[0].Name) + require.Equal(t, 10, cq.Data[0].Age) + require.Equal(t, "doe", cq.Data[1].Name) + require.Equal(t, 12, cq.Data[1].Age) } // go test -run Test_Bind_Header -v @@ -301,19 +301,19 @@ func Test_Bind_Header(t *testing.T) { c.Request().Header.Add("Name", "John Doe") c.Request().Header.Add("Hobby", "golang,fiber") q := new(Header) - utils.AssertEqual(t, nil, c.Bind().Header(q)) - utils.AssertEqual(t, 2, len(q.Hobby)) + require.Nil(t, c.Bind().Header(q)) + require.Equal(t, 2, len(q.Hobby)) c.Request().Header.Del("hobby") c.Request().Header.Add("Hobby", "golang,fiber,go") q = new(Header) - utils.AssertEqual(t, nil, c.Bind().Header(q)) - utils.AssertEqual(t, 3, len(q.Hobby)) + require.Nil(t, c.Bind().Header(q)) + require.Equal(t, 3, len(q.Hobby)) empty := new(Header) c.Request().Header.Del("hobby") - utils.AssertEqual(t, nil, c.Bind().Query(empty)) - utils.AssertEqual(t, 0, len(empty.Hobby)) + require.Nil(t, c.Bind().Query(empty)) + require.Equal(t, 0, len(empty.Hobby)) type Header2 struct { Bool bool @@ -337,22 +337,22 @@ func Test_Bind_Header(t *testing.T) { h2 := new(Header2) h2.Bool = true h2.Name = "hello world" - utils.AssertEqual(t, nil, c.Bind().Header(h2)) - utils.AssertEqual(t, "go,fiber", h2.Hobby) - utils.AssertEqual(t, true, h2.Bool) - utils.AssertEqual(t, "Jane Doe", h2.Name) // check value get overwritten - utils.AssertEqual(t, []string{"milo", "coke", "pepsi"}, h2.FavouriteDrinks) + require.Nil(t, c.Bind().Header(h2)) + require.Equal(t, "go,fiber", h2.Hobby) + require.True(t, h2.Bool) + require.Equal(t, "Jane Doe", h2.Name) // check value get overwritten + require.Equal(t, []string{"milo", "coke", "pepsi"}, h2.FavouriteDrinks) var nilSlice []string - utils.AssertEqual(t, nilSlice, h2.Empty) - utils.AssertEqual(t, []string{""}, h2.Alloc) - utils.AssertEqual(t, []int64{1}, h2.No) + require.Equal(t, nilSlice, h2.Empty) + require.Equal(t, []string{""}, h2.Alloc) + require.Equal(t, []int64{1}, h2.No) type RequiredHeader struct { Name string `header:"name,required"` } rh := new(RequiredHeader) c.Request().Header.Del("name") - utils.AssertEqual(t, "name is empty", c.Bind().Header(rh).Error()) + require.Equal(t, "name is empty", c.Bind().Header(rh).Error()) } // go test -run Test_Bind_Header_Map -v @@ -369,19 +369,19 @@ func Test_Bind_Header_Map(t *testing.T) { c.Request().Header.Add("Name", "John Doe") c.Request().Header.Add("Hobby", "golang,fiber") q := make(map[string][]string, 0) - utils.AssertEqual(t, nil, c.Bind().Header(&q)) - utils.AssertEqual(t, 2, len(q["Hobby"])) + require.Nil(t, c.Bind().Header(&q)) + require.Equal(t, 2, len(q["Hobby"])) c.Request().Header.Del("hobby") c.Request().Header.Add("Hobby", "golang,fiber,go") q = make(map[string][]string, 0) - utils.AssertEqual(t, nil, c.Bind().Header(&q)) - utils.AssertEqual(t, 3, len(q["Hobby"])) + require.Nil(t, c.Bind().Header(&q)) + require.Equal(t, 3, len(q["Hobby"])) empty := make(map[string][]string, 0) c.Request().Header.Del("hobby") - utils.AssertEqual(t, nil, c.Bind().Query(&empty)) - utils.AssertEqual(t, 0, len(empty["Hobby"])) + require.Nil(t, c.Bind().Query(&empty)) + require.Equal(t, 0, len(empty["Hobby"])) } // go test -run Test_Bind_Header_WithSetParserDecoder -v @@ -424,20 +424,20 @@ func Test_Bind_Header_WithSetParserDecoder(t *testing.T) { c.Request().Header.Add("Title", "CustomDateTest") c.Request().Header.Add("Body", "October") - utils.AssertEqual(t, nil, c.Bind().Header(r)) + require.Nil(t, c.Bind().Header(r)) fmt.Println(r.Date, "q.Date") - utils.AssertEqual(t, "CustomDateTest", r.Title) + require.Equal(t, "CustomDateTest", r.Title) date := fmt.Sprintf("%v", r.Date) - utils.AssertEqual(t, "{0 63753609600 }", date) - utils.AssertEqual(t, "October", r.Body) + require.Equal(t, "{0 63753609600 }", date) + require.Equal(t, "October", r.Body) c.Request().Header.Add("Title", "") r = &NonRFCTimeInput{ Title: "Existing title", Body: "Existing Body", } - utils.AssertEqual(t, nil, c.Bind().Header(r)) - utils.AssertEqual(t, "", r.Title) + require.Nil(t, c.Bind().Header(r)) + require.Equal(t, "", r.Title) } // go test -run Test_Bind_Header_Schema -v @@ -458,21 +458,21 @@ func Test_Bind_Header_Schema(t *testing.T) { c.Request().Header.Add("Name", "tom") c.Request().Header.Add("Nested.Age", "10") q := new(Header1) - utils.AssertEqual(t, nil, c.Bind().Header(q)) + require.Nil(t, c.Bind().Header(q)) c.Request().Header.Del("Name") q = new(Header1) - utils.AssertEqual(t, "Name is empty", c.Bind().Header(q).Error()) + require.Equal(t, "Name is empty", c.Bind().Header(q).Error()) c.Request().Header.Add("Name", "tom") c.Request().Header.Del("Nested.Age") c.Request().Header.Add("Nested.Agex", "10") q = new(Header1) - utils.AssertEqual(t, nil, c.Bind().Header(q)) + require.Nil(t, c.Bind().Header(q)) c.Request().Header.Del("Nested.Agex") q = new(Header1) - utils.AssertEqual(t, "Nested is empty", c.Bind().Header(q).Error()) + require.Equal(t, "Nested is empty", c.Bind().Header(q).Error()) c.Request().Header.Del("Nested.Agex") c.Request().Header.Del("Name") @@ -488,17 +488,17 @@ func Test_Bind_Header_Schema(t *testing.T) { c.Request().Header.Add("Nested.Age", "10") h2 := new(Header2) - utils.AssertEqual(t, nil, c.Bind().Header(h2)) + require.Nil(t, c.Bind().Header(h2)) c.Request().Header.Del("Name") h2 = new(Header2) - utils.AssertEqual(t, nil, c.Bind().Header(h2)) + require.Nil(t, c.Bind().Header(h2)) c.Request().Header.Del("Name") c.Request().Header.Del("Nested.Age") c.Request().Header.Add("Nested.Agex", "10") h2 = new(Header2) - utils.AssertEqual(t, "Nested.age is empty", c.Bind().Header(h2).Error()) + require.Equal(t, "Nested.age is empty", c.Bind().Header(h2).Error()) type Node struct { Value int `header:"Val,required"` @@ -507,22 +507,22 @@ func Test_Bind_Header_Schema(t *testing.T) { c.Request().Header.Add("Val", "1") c.Request().Header.Add("Next.Val", "3") n := new(Node) - utils.AssertEqual(t, nil, c.Bind().Header(n)) - utils.AssertEqual(t, 1, n.Value) - utils.AssertEqual(t, 3, n.Next.Value) + require.Nil(t, c.Bind().Header(n)) + require.Equal(t, 1, n.Value) + require.Equal(t, 3, n.Next.Value) c.Request().Header.Del("Val") n = new(Node) - utils.AssertEqual(t, "Val is empty", c.Bind().Header(n).Error()) + require.Equal(t, "Val is empty", c.Bind().Header(n).Error()) c.Request().Header.Add("Val", "3") c.Request().Header.Del("Next.Val") c.Request().Header.Add("Next.Value", "2") n = new(Node) n.Next = new(Node) - utils.AssertEqual(t, nil, c.Bind().Header(n)) - utils.AssertEqual(t, 3, n.Value) - utils.AssertEqual(t, 0, n.Next.Value) + require.Nil(t, c.Bind().Header(n)) + require.Equal(t, 3, n.Value) + require.Equal(t, 0, n.Next.Value) } // go test -run Test_Bind_Resp_Header -v @@ -543,19 +543,19 @@ func Test_Bind_RespHeader(t *testing.T) { c.Response().Header.Add("Name", "John Doe") c.Response().Header.Add("Hobby", "golang,fiber") q := new(Header) - utils.AssertEqual(t, nil, c.Bind().RespHeader(q)) - utils.AssertEqual(t, 2, len(q.Hobby)) + require.Nil(t, c.Bind().RespHeader(q)) + require.Equal(t, 2, len(q.Hobby)) c.Response().Header.Del("hobby") c.Response().Header.Add("Hobby", "golang,fiber,go") q = new(Header) - utils.AssertEqual(t, nil, c.Bind().RespHeader(q)) - utils.AssertEqual(t, 3, len(q.Hobby)) + require.Nil(t, c.Bind().RespHeader(q)) + require.Equal(t, 3, len(q.Hobby)) empty := new(Header) c.Response().Header.Del("hobby") - utils.AssertEqual(t, nil, c.Bind().Query(empty)) - utils.AssertEqual(t, 0, len(empty.Hobby)) + require.Nil(t, c.Bind().Query(empty)) + require.Equal(t, 0, len(empty.Hobby)) type Header2 struct { Bool bool @@ -579,22 +579,22 @@ func Test_Bind_RespHeader(t *testing.T) { h2 := new(Header2) h2.Bool = true h2.Name = "hello world" - utils.AssertEqual(t, nil, c.Bind().RespHeader(h2)) - utils.AssertEqual(t, "go,fiber", h2.Hobby) - utils.AssertEqual(t, true, h2.Bool) - utils.AssertEqual(t, "Jane Doe", h2.Name) // check value get overwritten - utils.AssertEqual(t, []string{"milo", "coke", "pepsi"}, h2.FavouriteDrinks) + require.Nil(t, c.Bind().RespHeader(h2)) + require.Equal(t, "go,fiber", h2.Hobby) + require.True(t, h2.Bool) + require.Equal(t, "Jane Doe", h2.Name) // check value get overwritten + require.Equal(t, []string{"milo", "coke", "pepsi"}, h2.FavouriteDrinks) var nilSlice []string - utils.AssertEqual(t, nilSlice, h2.Empty) - utils.AssertEqual(t, []string{""}, h2.Alloc) - utils.AssertEqual(t, []int64{1}, h2.No) + require.Equal(t, nilSlice, h2.Empty) + require.Equal(t, []string{""}, h2.Alloc) + require.Equal(t, []int64{1}, h2.No) type RequiredHeader struct { Name string `respHeader:"name,required"` } rh := new(RequiredHeader) c.Response().Header.Del("name") - utils.AssertEqual(t, "name is empty", c.Bind().RespHeader(rh).Error()) + require.Equal(t, "name is empty", c.Bind().RespHeader(rh).Error()) } // go test -run Test_Bind_RespHeader_Map -v @@ -611,19 +611,19 @@ func Test_Bind_RespHeader_Map(t *testing.T) { c.Response().Header.Add("Name", "John Doe") c.Response().Header.Add("Hobby", "golang,fiber") q := make(map[string][]string, 0) - utils.AssertEqual(t, nil, c.Bind().RespHeader(&q)) - utils.AssertEqual(t, 2, len(q["Hobby"])) + require.Nil(t, c.Bind().RespHeader(&q)) + require.Equal(t, 2, len(q["Hobby"])) c.Response().Header.Del("hobby") c.Response().Header.Add("Hobby", "golang,fiber,go") q = make(map[string][]string, 0) - utils.AssertEqual(t, nil, c.Bind().RespHeader(&q)) - utils.AssertEqual(t, 3, len(q["Hobby"])) + require.Nil(t, c.Bind().RespHeader(&q)) + require.Equal(t, 3, len(q["Hobby"])) empty := make(map[string][]string, 0) c.Response().Header.Del("hobby") - utils.AssertEqual(t, nil, c.Bind().Query(&empty)) - utils.AssertEqual(t, 0, len(empty["Hobby"])) + require.Nil(t, c.Bind().Query(&empty)) + require.Equal(t, 0, len(empty["Hobby"])) } // go test -v -run=^$ -bench=Benchmark_Bind_Query -benchmem -count=4 @@ -645,7 +645,7 @@ func Benchmark_Bind_Query(b *testing.B) { for n := 0; n < b.N; n++ { c.Bind().Query(q) } - utils.AssertEqual(b, nil, c.Bind().Query(q)) + require.Nil(b, c.Bind().Query(q)) } // go test -v -run=^$ -bench=Benchmark_Bind_Query_Map -benchmem -count=4 @@ -662,7 +662,7 @@ func Benchmark_Bind_Query_Map(b *testing.B) { for n := 0; n < b.N; n++ { c.Bind().Query(&q) } - utils.AssertEqual(b, nil, c.Bind().Query(&q)) + require.Nil(b, c.Bind().Query(&q)) } // go test -v -run=^$ -bench=Benchmark_Bind_Query_WithParseParam -benchmem -count=4 @@ -690,7 +690,7 @@ func Benchmark_Bind_Query_WithParseParam(b *testing.B) { c.Bind().Query(cq) } - utils.AssertEqual(b, nil, c.Bind().Query(cq)) + require.Nil(b, c.Bind().Query(cq)) } // go test -v -run=^$ -bench=Benchmark_Bind_Query_Comma -benchmem -count=4 @@ -713,7 +713,7 @@ func Benchmark_Bind_Query_Comma(b *testing.B) { for n := 0; n < b.N; n++ { c.Bind().Query(q) } - utils.AssertEqual(b, nil, c.Bind().Query(q)) + require.Nil(b, c.Bind().Query(q)) } // go test -v -run=^$ -bench=Benchmark_Bind_Header -benchmem -count=4 @@ -739,7 +739,7 @@ func Benchmark_Bind_Header(b *testing.B) { for n := 0; n < b.N; n++ { c.Bind().Header(q) } - utils.AssertEqual(b, nil, c.Bind().Header(q)) + require.Nil(b, c.Bind().Header(q)) } // go test -v -run=^$ -bench=Benchmark_Bind_Header_Map -benchmem -count=4 @@ -760,7 +760,7 @@ func Benchmark_Bind_Header_Map(b *testing.B) { for n := 0; n < b.N; n++ { c.Bind().Header(&q) } - utils.AssertEqual(b, nil, c.Bind().Header(&q)) + require.Nil(b, c.Bind().Header(&q)) } // go test -v -run=^$ -bench=Benchmark_Bind_RespHeader -benchmem -count=4 @@ -786,7 +786,7 @@ func Benchmark_Bind_RespHeader(b *testing.B) { for n := 0; n < b.N; n++ { c.Bind().RespHeader(q) } - utils.AssertEqual(b, nil, c.Bind().RespHeader(q)) + require.Nil(b, c.Bind().RespHeader(q)) } // go test -v -run=^$ -bench=Benchmark_Bind_RespHeader_Map -benchmem -count=4 @@ -807,7 +807,7 @@ func Benchmark_Bind_RespHeader_Map(b *testing.B) { for n := 0; n < b.N; n++ { c.Bind().RespHeader(&q) } - utils.AssertEqual(b, nil, c.Bind().RespHeader(&q)) + require.Nil(b, c.Bind().RespHeader(&q)) } // go test -run Test_Bind_Body @@ -831,8 +831,8 @@ func Test_Bind_Body(t *testing.T) { c.Request().SetBody(gzipJSON.Bytes()) c.Request().Header.SetContentLength(len(gzipJSON.Bytes())) d := new(Demo) - utils.AssertEqual(t, nil, c.Bind().Body(d)) - utils.AssertEqual(t, "john", d.Name) + require.Nil(t, c.Bind().Body(d)) + require.Equal(t, "john", d.Name) c.Request().Header.Del(HeaderContentEncoding) } @@ -841,8 +841,8 @@ func Test_Bind_Body(t *testing.T) { c.Request().SetBody([]byte(body)) c.Request().Header.SetContentLength(len(body)) d := new(Demo) - utils.AssertEqual(t, nil, c.Bind().Body(d)) - utils.AssertEqual(t, "john", d.Name) + require.Nil(t, c.Bind().Body(d)) + require.Equal(t, "john", d.Name) } testDecodeParser(MIMEApplicationJSON, `{"name":"john"}`) @@ -854,7 +854,7 @@ func Test_Bind_Body(t *testing.T) { c.Request().Header.SetContentType(contentType) c.Request().SetBody([]byte(body)) c.Request().Header.SetContentLength(len(body)) - utils.AssertEqual(t, false, c.Bind().Body(nil) == nil) + require.False(t, c.Bind().Body(nil) == nil) } testDecodeParserError("invalid-content-type", "") @@ -869,20 +869,20 @@ func Test_Bind_Body(t *testing.T) { c.Request().SetBody([]byte("data[0][name]=john&data[1][name]=doe")) c.Request().Header.SetContentLength(len(c.Body())) cq := new(CollectionQuery) - utils.AssertEqual(t, nil, c.Bind().Body(cq)) - utils.AssertEqual(t, 2, len(cq.Data)) - utils.AssertEqual(t, "john", cq.Data[0].Name) - utils.AssertEqual(t, "doe", cq.Data[1].Name) + require.Nil(t, c.Bind().Body(cq)) + require.Equal(t, 2, len(cq.Data)) + require.Equal(t, "john", cq.Data[0].Name) + require.Equal(t, "doe", cq.Data[1].Name) c.Request().Reset() c.Request().Header.SetContentType(MIMEApplicationForm) c.Request().SetBody([]byte("data.0.name=john&data.1.name=doe")) c.Request().Header.SetContentLength(len(c.Body())) cq = new(CollectionQuery) - utils.AssertEqual(t, nil, c.Bind().Body(cq)) - utils.AssertEqual(t, 2, len(cq.Data)) - utils.AssertEqual(t, "john", cq.Data[0].Name) - utils.AssertEqual(t, "doe", cq.Data[1].Name) + require.Nil(t, c.Bind().Body(cq)) + require.Equal(t, 2, len(cq.Data)) + require.Equal(t, "john", cq.Data[0].Name) + require.Equal(t, "doe", cq.Data[1].Name) } // go test -run Test_Bind_Body_WithSetParserDecoder @@ -925,11 +925,11 @@ func Test_Bind_Body_WithSetParserDecoder(t *testing.T) { Title: "Existing title", Body: "Existing Body", } - utils.AssertEqual(t, nil, c.Bind().Body(&d)) + require.Nil(t, c.Bind().Body(&d)) date := fmt.Sprintf("%v", d.Date) - utils.AssertEqual(t, "{0 63743587200 }", date) - utils.AssertEqual(t, "", d.Title) - utils.AssertEqual(t, "New Body", d.Body) + require.Equal(t, "{0 63743587200 }", date) + require.Equal(t, "", d.Title) + require.Equal(t, "New Body", d.Body) } testDecodeParser(MIMEApplicationForm, "date=2020-12-15&title=&body=New Body") @@ -956,8 +956,8 @@ func Benchmark_Bind_Body_JSON(b *testing.B) { for n := 0; n < b.N; n++ { _ = c.Bind().Body(d) } - utils.AssertEqual(b, nil, c.Bind().Body(d)) - utils.AssertEqual(b, "john", d.Name) + require.Nil(b, c.Bind().Body(d)) + require.Equal(b, "john", d.Name) } // go test -v -run=^$ -bench=Benchmark_Bind_Body_XML -benchmem -count=4 @@ -980,8 +980,8 @@ func Benchmark_Bind_Body_XML(b *testing.B) { for n := 0; n < b.N; n++ { _ = c.Bind().Body(d) } - utils.AssertEqual(b, nil, c.Bind().Body(d)) - utils.AssertEqual(b, "john", d.Name) + require.Nil(b, c.Bind().Body(d)) + require.Equal(b, "john", d.Name) } // go test -v -run=^$ -bench=Benchmark_Bind_Body_Form -benchmem -count=4 @@ -1004,8 +1004,8 @@ func Benchmark_Bind_Body_Form(b *testing.B) { for n := 0; n < b.N; n++ { _ = c.Bind().Body(d) } - utils.AssertEqual(b, nil, c.Bind().Body(d)) - utils.AssertEqual(b, "john", d.Name) + require.Nil(b, c.Bind().Body(d)) + require.Equal(b, "john", d.Name) } // go test -v -run=^$ -bench=Benchmark_Bind_Body_MultipartForm -benchmem -count=4 @@ -1029,8 +1029,8 @@ func Benchmark_Bind_Body_MultipartForm(b *testing.B) { for n := 0; n < b.N; n++ { _ = c.Bind().Body(d) } - utils.AssertEqual(b, nil, c.Bind().Body(d)) - utils.AssertEqual(b, "john", d.Name) + require.Nil(b, c.Bind().Body(d)) + require.Equal(b, "john", d.Name) } // go test -v -run=^$ -bench=Benchmark_Bind_Body_Form_Map -benchmem -count=4 @@ -1050,8 +1050,8 @@ func Benchmark_Bind_Body_Form_Map(b *testing.B) { for n := 0; n < b.N; n++ { _ = c.Bind().Body(&d) } - utils.AssertEqual(b, nil, c.Bind().Body(&d)) - utils.AssertEqual(b, "john", d["name"]) + require.Nil(b, c.Bind().Body(&d)) + require.Equal(b, "john", d["name"]) } // go test -run Test_Bind_URI @@ -1070,8 +1070,8 @@ func Test_Bind_URI(t *testing.T) { if err := c.Bind().URI(d); err != nil { t.Fatal(err) } - utils.AssertEqual(t, uint(111), d.UserID) - utils.AssertEqual(t, uint(222), d.RoleID) + require.Equal(t, uint(111), d.UserID) + require.Equal(t, uint(222), d.RoleID) return nil }) app.Test(httptest.NewRequest(MethodGet, "/test1/111/role/222", nil)) @@ -1089,8 +1089,8 @@ func Test_Bind_URI_Map(t *testing.T) { if err := c.Bind().URI(&d); err != nil { t.Fatal(err) } - utils.AssertEqual(t, uint(111), d["userId"]) - utils.AssertEqual(t, uint(222), d["roleId"]) + require.Equal(t, uint(111), d["userId"]) + require.Equal(t, uint(222), d["roleId"]) return nil }) app.Test(httptest.NewRequest(MethodGet, "/test1/111/role/222", nil)) @@ -1125,10 +1125,10 @@ func Benchmark_Bind_URI(b *testing.B) { c.Bind().URI(&res) } - utils.AssertEqual(b, "john", res.Param1) - utils.AssertEqual(b, "doe", res.Param2) - utils.AssertEqual(b, "is", res.Param3) - utils.AssertEqual(b, "awesome", res.Param4) + require.Equal(b, "john", res.Param1) + require.Equal(b, "doe", res.Param2) + require.Equal(b, "is", res.Param3) + require.Equal(b, "awesome", res.Param4) } // go test -v -run=^$ -bench=Benchmark_Bind_URI_Map -benchmem -count=4 @@ -1154,10 +1154,10 @@ func Benchmark_Bind_URI_Map(b *testing.B) { c.Bind().URI(&res) } - utils.AssertEqual(b, "john", res["param1"]) - utils.AssertEqual(b, "doe", res["param2"]) - utils.AssertEqual(b, "is", res["param3"]) - utils.AssertEqual(b, "awesome", res["param4"]) + require.Equal(b, "john", res["param1"]) + require.Equal(b, "doe", res["param2"]) + require.Equal(b, "is", res["param3"]) + require.Equal(b, "awesome", res["param4"]) } // go test -run Test_Bind_Cookie -v @@ -1179,19 +1179,19 @@ func Test_Bind_Cookie(t *testing.T) { c.Request().Header.SetCookie("Name", "John Doe") c.Request().Header.SetCookie("Hobby", "golang,fiber") q := new(Cookie) - utils.AssertEqual(t, nil, c.Bind().Cookie(q)) - utils.AssertEqual(t, 2, len(q.Hobby)) + require.Nil(t, c.Bind().Cookie(q)) + require.Equal(t, 2, len(q.Hobby)) c.Request().Header.DelCookie("hobby") c.Request().Header.SetCookie("Hobby", "golang,fiber,go") q = new(Cookie) - utils.AssertEqual(t, nil, c.Bind().Cookie(q)) - utils.AssertEqual(t, 3, len(q.Hobby)) + require.Nil(t, c.Bind().Cookie(q)) + require.Equal(t, 3, len(q.Hobby)) empty := new(Cookie) c.Request().Header.DelCookie("hobby") - utils.AssertEqual(t, nil, c.Bind().Query(empty)) - utils.AssertEqual(t, 0, len(empty.Hobby)) + require.Nil(t, c.Bind().Query(empty)) + require.Equal(t, 0, len(empty.Hobby)) type Cookie2 struct { Bool bool @@ -1215,22 +1215,22 @@ func Test_Bind_Cookie(t *testing.T) { h2 := new(Cookie2) h2.Bool = true h2.Name = "hello world" - utils.AssertEqual(t, nil, c.Bind().Cookie(h2)) - utils.AssertEqual(t, "go,fiber", h2.Hobby) - utils.AssertEqual(t, true, h2.Bool) - utils.AssertEqual(t, "Jane Doe", h2.Name) // check value get overwritten - utils.AssertEqual(t, []string{"milo", "coke", "pepsi"}, h2.FavouriteDrinks) + require.Nil(t, c.Bind().Cookie(h2)) + require.Equal(t, "go,fiber", h2.Hobby) + require.True(t, h2.Bool) + require.Equal(t, "Jane Doe", h2.Name) // check value get overwritten + require.Equal(t, []string{"milo", "coke", "pepsi"}, h2.FavouriteDrinks) var nilSlice []string - utils.AssertEqual(t, nilSlice, h2.Empty) - utils.AssertEqual(t, []string{""}, h2.Alloc) - utils.AssertEqual(t, []int64{1}, h2.No) + require.Equal(t, nilSlice, h2.Empty) + require.Equal(t, []string{""}, h2.Alloc) + require.Equal(t, []int64{1}, h2.No) type RequiredCookie struct { Name string `cookie:"name,required"` } rh := new(RequiredCookie) c.Request().Header.DelCookie("name") - utils.AssertEqual(t, "name is empty", c.Bind().Cookie(rh).Error()) + require.Equal(t, "name is empty", c.Bind().Cookie(rh).Error()) } // go test -run Test_Bind_Cookie_Map -v @@ -1247,19 +1247,19 @@ func Test_Bind_Cookie_Map(t *testing.T) { c.Request().Header.SetCookie("Name", "John Doe") c.Request().Header.SetCookie("Hobby", "golang,fiber") q := make(map[string][]string) - utils.AssertEqual(t, nil, c.Bind().Cookie(&q)) - utils.AssertEqual(t, 2, len(q["Hobby"])) + require.Nil(t, c.Bind().Cookie(&q)) + require.Equal(t, 2, len(q["Hobby"])) c.Request().Header.DelCookie("hobby") c.Request().Header.SetCookie("Hobby", "golang,fiber,go") q = make(map[string][]string) - utils.AssertEqual(t, nil, c.Bind().Cookie(&q)) - utils.AssertEqual(t, 3, len(q["Hobby"])) + require.Nil(t, c.Bind().Cookie(&q)) + require.Equal(t, 3, len(q["Hobby"])) empty := make(map[string][]string) c.Request().Header.DelCookie("hobby") - utils.AssertEqual(t, nil, c.Bind().Query(&empty)) - utils.AssertEqual(t, 0, len(empty["Hobby"])) + require.Nil(t, c.Bind().Query(&empty)) + require.Equal(t, 0, len(empty["Hobby"])) } // go test -run Test_Bind_Cookie_WithSetParserDecoder -v @@ -1302,20 +1302,20 @@ func Test_Bind_Cookie_WithSetParserDecoder(t *testing.T) { c.Request().Header.SetCookie("Title", "CustomDateTest") c.Request().Header.SetCookie("Body", "October") - utils.AssertEqual(t, nil, c.Bind().Cookie(r)) + require.Nil(t, c.Bind().Cookie(r)) fmt.Println(r.Date, "q.Date") - utils.AssertEqual(t, "CustomDateTest", r.Title) + require.Equal(t, "CustomDateTest", r.Title) date := fmt.Sprintf("%v", r.Date) - utils.AssertEqual(t, "{0 63753609600 }", date) - utils.AssertEqual(t, "October", r.Body) + require.Equal(t, "{0 63753609600 }", date) + require.Equal(t, "October", r.Body) c.Request().Header.SetCookie("Title", "") r = &NonRFCTimeInput{ Title: "Existing title", Body: "Existing Body", } - utils.AssertEqual(t, nil, c.Bind().Cookie(r)) - utils.AssertEqual(t, "", r.Title) + require.Nil(t, c.Bind().Cookie(r)) + require.Equal(t, "", r.Title) } // go test -run Test_Bind_Cookie_Schema -v @@ -1337,21 +1337,21 @@ func Test_Bind_Cookie_Schema(t *testing.T) { c.Request().Header.SetCookie("Name", "tom") c.Request().Header.SetCookie("Nested.Age", "10") q := new(Cookie1) - utils.AssertEqual(t, nil, c.Bind().Cookie(q)) + require.Nil(t, c.Bind().Cookie(q)) c.Request().Header.DelCookie("Name") q = new(Cookie1) - utils.AssertEqual(t, "Name is empty", c.Bind().Cookie(q).Error()) + require.Equal(t, "Name is empty", c.Bind().Cookie(q).Error()) c.Request().Header.SetCookie("Name", "tom") c.Request().Header.DelCookie("Nested.Age") c.Request().Header.SetCookie("Nested.Agex", "10") q = new(Cookie1) - utils.AssertEqual(t, nil, c.Bind().Cookie(q)) + require.Nil(t, c.Bind().Cookie(q)) c.Request().Header.DelCookie("Nested.Agex") q = new(Cookie1) - utils.AssertEqual(t, "Nested is empty", c.Bind().Cookie(q).Error()) + require.Equal(t, "Nested is empty", c.Bind().Cookie(q).Error()) c.Request().Header.DelCookie("Nested.Agex") c.Request().Header.DelCookie("Name") @@ -1367,17 +1367,17 @@ func Test_Bind_Cookie_Schema(t *testing.T) { c.Request().Header.SetCookie("Nested.Age", "10") h2 := new(Cookie2) - utils.AssertEqual(t, nil, c.Bind().Cookie(h2)) + require.Nil(t, c.Bind().Cookie(h2)) c.Request().Header.DelCookie("Name") h2 = new(Cookie2) - utils.AssertEqual(t, nil, c.Bind().Cookie(h2)) + require.Nil(t, c.Bind().Cookie(h2)) c.Request().Header.DelCookie("Name") c.Request().Header.DelCookie("Nested.Age") c.Request().Header.SetCookie("Nested.Agex", "10") h2 = new(Cookie2) - utils.AssertEqual(t, "Nested.Age is empty", c.Bind().Cookie(h2).Error()) + require.Equal(t, "Nested.Age is empty", c.Bind().Cookie(h2).Error()) type Node struct { Value int `cookie:"Val,required"` @@ -1386,22 +1386,22 @@ func Test_Bind_Cookie_Schema(t *testing.T) { c.Request().Header.SetCookie("Val", "1") c.Request().Header.SetCookie("Next.Val", "3") n := new(Node) - utils.AssertEqual(t, nil, c.Bind().Cookie(n)) - utils.AssertEqual(t, 1, n.Value) - utils.AssertEqual(t, 3, n.Next.Value) + require.Nil(t, c.Bind().Cookie(n)) + require.Equal(t, 1, n.Value) + require.Equal(t, 3, n.Next.Value) c.Request().Header.DelCookie("Val") n = new(Node) - utils.AssertEqual(t, "Val is empty", c.Bind().Cookie(n).Error()) + require.Equal(t, "Val is empty", c.Bind().Cookie(n).Error()) c.Request().Header.SetCookie("Val", "3") c.Request().Header.DelCookie("Next.Val") c.Request().Header.SetCookie("Next.Value", "2") n = new(Node) n.Next = new(Node) - utils.AssertEqual(t, nil, c.Bind().Cookie(n)) - utils.AssertEqual(t, 3, n.Value) - utils.AssertEqual(t, 0, n.Next.Value) + require.Nil(t, c.Bind().Cookie(n)) + require.Equal(t, 3, n.Value) + require.Equal(t, 0, n.Next.Value) } // go test -v -run=^$ -bench=Benchmark_Bind_Cookie -benchmem -count=4 @@ -1428,7 +1428,7 @@ func Benchmark_Bind_Cookie(b *testing.B) { for n := 0; n < b.N; n++ { c.Bind().Cookie(q) } - utils.AssertEqual(b, nil, c.Bind().Cookie(q)) + require.Nil(b, c.Bind().Cookie(q)) } // go test -v -run=^$ -bench=Benchmark_Bind_Cookie_Map -benchmem -count=4 @@ -1450,7 +1450,7 @@ func Benchmark_Bind_Cookie_Map(b *testing.B) { for n := 0; n < b.N; n++ { c.Bind().Cookie(&q) } - utils.AssertEqual(b, nil, c.Bind().Cookie(&q)) + require.Nil(b, c.Bind().Cookie(&q)) } // custom binder for testing @@ -1486,10 +1486,10 @@ func Test_Bind_CustomBinder(t *testing.T) { c.Request().Header.SetContentLength(len(body)) d := new(Demo) - utils.AssertEqual(t, nil, c.Bind().Body(d)) - utils.AssertEqual(t, nil, c.Bind().Custom("custom", d)) - utils.AssertEqual(t, ErrCustomBinderNotFound, c.Bind().Custom("not_custom", d)) - utils.AssertEqual(t, "john", d.Name) + require.Nil(t, c.Bind().Body(d)) + require.Nil(t, c.Bind().Custom("custom", d)) + require.Equal(t, ErrCustomBinderNotFound, c.Bind().Custom("not_custom", d)) + require.Equal(t, "john", d.Name) } // go test -run Test_Bind_Must @@ -1503,8 +1503,8 @@ func Test_Bind_Must(t *testing.T) { rq := new(RequiredQuery) c.Request().URI().SetQueryString("") err := c.Bind().Must().Query(rq) - utils.AssertEqual(t, StatusBadRequest, c.Response().StatusCode()) - utils.AssertEqual(t, "Bad request: name is empty", err.Error()) + require.Equal(t, StatusBadRequest, c.Response().StatusCode()) + require.Equal(t, "Bad request: name is empty", err.Error()) } // simple struct validator for testing @@ -1536,9 +1536,9 @@ func Test_Bind_StructValidator(t *testing.T) { rq := new(simpleQuery) c.Request().URI().SetQueryString("name=efe") - utils.AssertEqual(t, "you should have entered right name!", c.Bind().Query(rq).Error()) + require.Equal(t, "you should have entered right name!", c.Bind().Query(rq).Error()) rq = new(simpleQuery) c.Request().URI().SetQueryString("name=john") - utils.AssertEqual(t, nil, c.Bind().Query(rq)) + require.Nil(t, c.Bind().Query(rq)) } diff --git a/binder/mapping_test.go b/binder/mapping_test.go index 2c5d275b..aec91ff2 100644 --- a/binder/mapping_test.go +++ b/binder/mapping_test.go @@ -4,28 +4,28 @@ import ( "reflect" "testing" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) func Test_EqualFieldType(t *testing.T) { var out int - utils.AssertEqual(t, false, equalFieldType(&out, reflect.Int, "key")) + require.False(t, equalFieldType(&out, reflect.Int, "key")) var dummy struct{ f string } - utils.AssertEqual(t, false, equalFieldType(&dummy, reflect.String, "key")) + require.False(t, equalFieldType(&dummy, reflect.String, "key")) var dummy2 struct{ f string } - utils.AssertEqual(t, false, equalFieldType(&dummy2, reflect.String, "f")) + require.False(t, equalFieldType(&dummy2, reflect.String, "f")) var user struct { Name string Address string `query:"address"` Age int `query:"AGE"` } - utils.AssertEqual(t, true, equalFieldType(&user, reflect.String, "name")) - utils.AssertEqual(t, true, equalFieldType(&user, reflect.String, "Name")) - utils.AssertEqual(t, true, equalFieldType(&user, reflect.String, "address")) - utils.AssertEqual(t, true, equalFieldType(&user, reflect.String, "Address")) - utils.AssertEqual(t, true, equalFieldType(&user, reflect.Int, "AGE")) - utils.AssertEqual(t, true, equalFieldType(&user, reflect.Int, "age")) + require.True(t, equalFieldType(&user, reflect.String, "name")) + require.True(t, equalFieldType(&user, reflect.String, "Name")) + require.True(t, equalFieldType(&user, reflect.String, "address")) + require.True(t, equalFieldType(&user, reflect.String, "Address")) + require.True(t, equalFieldType(&user, reflect.Int, "AGE")) + require.True(t, equalFieldType(&user, reflect.Int, "age")) } diff --git a/client_test.go b/client_test.go index e0c682f8..987b0c3c 100644 --- a/client_test.go +++ b/client_test.go @@ -19,7 +19,7 @@ import ( "encoding/json" "github.com/gofiber/fiber/v3/internal/tlstest" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp/fasthttputil" ) @@ -34,7 +34,7 @@ func Test_Client_Invalid_URL(t *testing.T) { return c.SendString(c.Hostname()) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() a := Get("http://example.com\r\n\r\nGET /\r\n\r\n") @@ -42,9 +42,9 @@ func Test_Client_Invalid_URL(t *testing.T) { _, body, errs := a.String() - utils.AssertEqual(t, "", body) - utils.AssertEqual(t, 1, len(errs)) - utils.AssertEqual(t, "missing required Host header in request", errs[0].Error()) + require.Equal(t, "", body) + require.Equal(t, 1, len(errs)) + require.Equal(t, "missing required Host header in request", errs[0].Error()) } func Test_Client_Unsupported_Protocol(t *testing.T) { @@ -54,10 +54,11 @@ func Test_Client_Unsupported_Protocol(t *testing.T) { _, body, errs := a.String() - utils.AssertEqual(t, "", body) - utils.AssertEqual(t, 1, len(errs)) - utils.AssertEqual(t, `unsupported protocol "ftp". http and https are supported`, + require.Equal(t, "", body) + require.Equal(t, 1, len(errs)) + require.Equal(t, `unsupported protocol "ftp". http and https are supported`, errs[0].Error()) + } func Test_Client_Get(t *testing.T) { @@ -71,7 +72,7 @@ func Test_Client_Get(t *testing.T) { return c.SendString(c.Hostname()) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() for i := 0; i < 5; i++ { a := Get("http://example.com") @@ -80,9 +81,9 @@ func Test_Client_Get(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "example.com", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "example.com", body) + require.Equal(t, 0, len(errs)) } } @@ -97,7 +98,7 @@ func Test_Client_Head(t *testing.T) { return c.SendString(c.Hostname()) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() for i := 0; i < 5; i++ { a := Head("http://example.com") @@ -106,9 +107,9 @@ func Test_Client_Head(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "", body) + require.Equal(t, 0, len(errs)) } } @@ -124,7 +125,7 @@ func Test_Client_Post(t *testing.T) { SendString(c.FormValue("foo")) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() for i := 0; i < 5; i++ { args := AcquireArgs() @@ -138,9 +139,9 @@ func Test_Client_Post(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusCreated, code) - utils.AssertEqual(t, "bar", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusCreated, code) + require.Equal(t, "bar", body) + require.Equal(t, 0, len(errs)) ReleaseArgs(args) } @@ -157,7 +158,7 @@ func Test_Client_Put(t *testing.T) { return c.SendString(c.FormValue("foo")) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() for i := 0; i < 5; i++ { args := AcquireArgs() @@ -171,9 +172,9 @@ func Test_Client_Put(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "bar", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "bar", body) + require.Equal(t, 0, len(errs)) ReleaseArgs(args) } @@ -190,7 +191,7 @@ func Test_Client_Patch(t *testing.T) { return c.SendString(c.FormValue("foo")) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() for i := 0; i < 5; i++ { args := AcquireArgs() @@ -204,9 +205,9 @@ func Test_Client_Patch(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "bar", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "bar", body) + require.Equal(t, 0, len(errs)) ReleaseArgs(args) } @@ -224,7 +225,7 @@ func Test_Client_Delete(t *testing.T) { SendString("deleted") }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() for i := 0; i < 5; i++ { args := AcquireArgs() @@ -235,9 +236,9 @@ func Test_Client_Delete(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusNoContent, code) - utils.AssertEqual(t, "", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusNoContent, code) + require.Equal(t, "", body) + require.Equal(t, 0, len(errs)) ReleaseArgs(args) } @@ -254,7 +255,7 @@ func Test_Client_UserAgent(t *testing.T) { return c.Send(c.Request().Header.UserAgent()) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() t.Run("default", func(t *testing.T) { for i := 0; i < 5; i++ { @@ -264,9 +265,9 @@ func Test_Client_UserAgent(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, defaultUserAgent, body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, defaultUserAgent, body) + require.Equal(t, 0, len(errs)) } }) @@ -281,9 +282,9 @@ func Test_Client_UserAgent(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "ua", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "ua", body) + require.Equal(t, 0, len(errs)) ReleaseClient(c) } }) @@ -396,21 +397,21 @@ func Test_Client_Agent_Host(t *testing.T) { return c.SendString(c.Hostname()) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() a := Get("http://1.1.1.1:8080"). Host("example.com"). HostBytes([]byte("example.com")) - utils.AssertEqual(t, "1.1.1.1:8080", a.HostClient.Addr) + require.Equal(t, "1.1.1.1:8080", a.HostClient.Addr) a.HostClient.Dial = func(addr string) (net.Conn, error) { return ln.Dial() } code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "example.com", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "example.com", body) + require.Equal(t, 0, len(errs)) } func Test_Client_Agent_QueryString(t *testing.T) { @@ -432,7 +433,7 @@ func Test_Client_Agent_BasicAuth(t *testing.T) { auth := c.Get(HeaderAuthorization) // Decode the header contents raw, err := base64.StdEncoding.DecodeString(auth[6:]) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) return c.Send(raw) } @@ -492,7 +493,7 @@ func Test_Client_Agent_Custom_Response(t *testing.T) { return c.SendString("custom") }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() for i := 0; i < 5; i++ { a := AcquireAgent() @@ -502,17 +503,17 @@ func Test_Client_Agent_Custom_Response(t *testing.T) { req.Header.SetMethod(MethodGet) req.SetRequestURI("http://example.com") - utils.AssertEqual(t, nil, a.Parse()) + require.Nil(t, a.Parse()) a.HostClient.Dial = func(addr string) (net.Conn, error) { return ln.Dial() } code, body, errs := a.SetResponse(resp). String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "custom", body) - utils.AssertEqual(t, "custom", string(resp.Body())) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "custom", body) + require.Equal(t, "custom", string(resp.Body())) + require.Equal(t, 0, len(errs)) ReleaseResponse(resp) } @@ -529,7 +530,7 @@ func Test_Client_Agent_Dest(t *testing.T) { return c.SendString("dest") }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() t.Run("small dest", func(t *testing.T) { dest := []byte("de") @@ -540,10 +541,10 @@ func Test_Client_Agent_Dest(t *testing.T) { code, body, errs := a.Dest(dest[:0]).String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "dest", body) - utils.AssertEqual(t, "de", string(dest)) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "dest", body) + require.Equal(t, "de", string(dest)) + require.Equal(t, 0, len(errs)) }) t.Run("enough dest", func(t *testing.T) { @@ -555,10 +556,10 @@ func Test_Client_Agent_Dest(t *testing.T) { code, body, errs := a.Dest(dest[:0]).String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "dest", body) - utils.AssertEqual(t, "destar", string(dest)) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "dest", body) + require.Equal(t, "destar", string(dest)) + require.Equal(t, 0, len(errs)) }) } @@ -593,7 +594,7 @@ func Test_Client_Agent_RetryIf(t *testing.T) { app := New(Config{DisableStartupMessage: true}) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() a := Post("http://example.com"). RetryIf(func(req *Request) bool { @@ -618,13 +619,13 @@ func Test_Client_Agent_RetryIf(t *testing.T) { } _, _, errs := a.String() - utils.AssertEqual(t, dialsCount, 4) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, dialsCount, 4) + require.Equal(t, 0, len(errs)) } func Test_Client_Agent_Json(t *testing.T) { handler := func(c Ctx) error { - utils.AssertEqual(t, MIMEApplicationJSON, string(c.Request().Header.ContentType())) + require.Equal(t, MIMEApplicationJSON, string(c.Request().Header.ContentType())) return c.Send(c.Request().Body()) } @@ -643,14 +644,14 @@ func Test_Client_Agent_Json_Error(t *testing.T) { _, body, errs := a.String() - utils.AssertEqual(t, "", body) - utils.AssertEqual(t, 1, len(errs)) - utils.AssertEqual(t, "json: unsupported type: complex128", errs[0].Error()) + require.Equal(t, "", body) + require.Equal(t, 1, len(errs)) + require.Equal(t, "json: unsupported type: complex128", errs[0].Error()) } func Test_Client_Agent_XML(t *testing.T) { handler := func(c Ctx) error { - utils.AssertEqual(t, MIMEApplicationXML, string(c.Request().Header.ContentType())) + require.Equal(t, MIMEApplicationXML, string(c.Request().Header.ContentType())) return c.Send(c.Request().Body()) } @@ -668,14 +669,14 @@ func Test_Client_Agent_XML_Error(t *testing.T) { _, body, errs := a.String() - utils.AssertEqual(t, "", body) - utils.AssertEqual(t, 1, len(errs)) - utils.AssertEqual(t, "xml: unsupported type: complex128", errs[0].Error()) + require.Equal(t, "", body) + require.Equal(t, 1, len(errs)) + require.Equal(t, "xml: unsupported type: complex128", errs[0].Error()) } func Test_Client_Agent_Form(t *testing.T) { handler := func(c Ctx) error { - utils.AssertEqual(t, MIMEApplicationForm, string(c.Request().Header.ContentType())) + require.Equal(t, MIMEApplicationForm, string(c.Request().Header.ContentType())) return c.Send(c.Request().Body()) } @@ -701,16 +702,16 @@ func Test_Client_Agent_MultipartForm(t *testing.T) { app := New(Config{DisableStartupMessage: true}) app.Post("/", func(c Ctx) error { - utils.AssertEqual(t, "multipart/form-data; boundary=myBoundary", c.Get(HeaderContentType)) + require.Equal(t, "multipart/form-data; boundary=myBoundary", c.Get(HeaderContentType)) mf, err := c.MultipartForm() - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "bar", mf.Value["foo"][0]) + require.NoError(t, err) + require.Equal(t, "bar", mf.Value["foo"][0]) return c.Send(c.Request().Body()) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() args := AcquireArgs() @@ -724,9 +725,9 @@ func Test_Client_Agent_MultipartForm(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "--myBoundary\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n--myBoundary--\r\n", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "--myBoundary\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n--myBoundary--\r\n", body) + require.Equal(t, 0, len(errs)) ReleaseArgs(args) } @@ -744,7 +745,7 @@ func Test_Client_Agent_MultipartForm_Errors(t *testing.T) { a.FileData(ff1, ff2). MultipartForm(args) - utils.AssertEqual(t, 4, len(a.errs)) + require.Equal(t, 4, len(a.errs)) ReleaseArgs(args) } @@ -756,31 +757,31 @@ func Test_Client_Agent_MultipartForm_SendFiles(t *testing.T) { app := New(Config{DisableStartupMessage: true}) app.Post("/", func(c Ctx) error { - utils.AssertEqual(t, "multipart/form-data; boundary=myBoundary", c.Get(HeaderContentType)) + require.Equal(t, "multipart/form-data; boundary=myBoundary", c.Get(HeaderContentType)) fh1, err := c.FormFile("field1") - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fh1.Filename, "name") + require.NoError(t, err) + require.Equal(t, fh1.Filename, "name") buf := make([]byte, fh1.Size) f, err := fh1.Open() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) defer func() { _ = f.Close() }() _, err = f.Read(buf) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "form file", string(buf)) + require.NoError(t, err) + require.Equal(t, "form file", string(buf)) fh2, err := c.FormFile("index") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) checkFormFile(t, fh2, ".github/testdata/index.html") fh3, err := c.FormFile("file3") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) checkFormFile(t, fh3, ".github/testdata/index.tmpl") return c.SendString("multipart form files") }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() for i := 0; i < 5; i++ { ff := AcquireFormFile() @@ -798,9 +799,9 @@ func Test_Client_Agent_MultipartForm_SendFiles(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "multipart form files", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "multipart form files", body) + require.Equal(t, 0, len(errs)) ReleaseFormFile(ff) } @@ -810,18 +811,18 @@ func checkFormFile(t *testing.T, fh *multipart.FileHeader, filename string) { t.Helper() basename := filepath.Base(filename) - utils.AssertEqual(t, fh.Filename, basename) + require.Equal(t, fh.Filename, basename) b1, err := os.ReadFile(filename) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) b2 := make([]byte, fh.Size) f, err := fh.Open() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) defer func() { _ = f.Close() }() _, err = f.Read(b2) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, b1, b2) + require.NoError(t, err) + require.Equal(t, b1, b2) } func Test_Client_Agent_Multipart_Random_Boundary(t *testing.T) { @@ -832,7 +833,7 @@ func Test_Client_Agent_Multipart_Random_Boundary(t *testing.T) { reg := regexp.MustCompile(`multipart/form-data; boundary=\w{30}`) - utils.AssertEqual(t, true, reg.Match(a.req.Header.Peek(HeaderContentType))) + require.True(t, reg.Match(a.req.Header.Peek(HeaderContentType))) } func Test_Client_Agent_Multipart_Invalid_Boundary(t *testing.T) { @@ -842,8 +843,8 @@ func Test_Client_Agent_Multipart_Invalid_Boundary(t *testing.T) { Boundary("*"). MultipartForm(nil) - utils.AssertEqual(t, 1, len(a.errs)) - utils.AssertEqual(t, "mime: invalid boundary character", a.errs[0].Error()) + require.Equal(t, 1, len(a.errs)) + require.Equal(t, "mime: invalid boundary character", a.errs[0].Error()) } func Test_Client_Agent_SendFile_Error(t *testing.T) { @@ -852,8 +853,8 @@ func Test_Client_Agent_SendFile_Error(t *testing.T) { a := Post("http://example.com"). SendFile("non-exist-file!", "") - utils.AssertEqual(t, 1, len(a.errs)) - utils.AssertEqual(t, true, strings.Contains(a.errs[0].Error(), "open non-exist-file!")) + require.Equal(t, 1, len(a.errs)) + require.True(t, strings.Contains(a.errs[0].Error(), "open non-exist-file!")) } func Test_Client_Debug(t *testing.T) { @@ -871,12 +872,12 @@ func Test_Client_Debug(t *testing.T) { str := output.String() - utils.AssertEqual(t, true, strings.Contains(str, "Connected to example.com(pipe)")) - utils.AssertEqual(t, true, strings.Contains(str, "GET / HTTP/1.1")) - utils.AssertEqual(t, true, strings.Contains(str, "User-Agent: fiber")) - utils.AssertEqual(t, true, strings.Contains(str, "Host: example.com\r\n\r\n")) - utils.AssertEqual(t, true, strings.Contains(str, "HTTP/1.1 200 OK")) - utils.AssertEqual(t, true, strings.Contains(str, "Content-Type: text/plain; charset=utf-8\r\nContent-Length: 5\r\n\r\ndebug")) + require.True(t, strings.Contains(str, "Connected to example.com(pipe)")) + require.True(t, strings.Contains(str, "GET / HTTP/1.1")) + require.True(t, strings.Contains(str, "User-Agent: fiber")) + require.True(t, strings.Contains(str, "Host: example.com\r\n\r\n")) + require.True(t, strings.Contains(str, "HTTP/1.1 200 OK")) + require.True(t, strings.Contains(str, "Content-Type: text/plain; charset=utf-8\r\nContent-Length: 5\r\n\r\ndebug")) } func Test_Client_Agent_Timeout(t *testing.T) { @@ -891,7 +892,7 @@ func Test_Client_Agent_Timeout(t *testing.T) { return c.SendString("timeout") }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() a := Get("http://example.com"). Timeout(time.Millisecond * 50) @@ -900,9 +901,9 @@ func Test_Client_Agent_Timeout(t *testing.T) { _, body, errs := a.String() - utils.AssertEqual(t, "", body) - utils.AssertEqual(t, 1, len(errs)) - utils.AssertEqual(t, "timeout", errs[0].Error()) + require.Equal(t, "", body) + require.Equal(t, 1, len(errs)) + require.Equal(t, "timeout", errs[0].Error()) } func Test_Client_Agent_Reuse(t *testing.T) { @@ -916,7 +917,7 @@ func Test_Client_Agent_Reuse(t *testing.T) { return c.SendString("reuse") }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() a := Get("http://example.com"). Reuse() @@ -925,29 +926,29 @@ func Test_Client_Agent_Reuse(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "reuse", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "reuse", body) + require.Equal(t, 0, len(errs)) code, body, errs = a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "reuse", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "reuse", body) + require.Equal(t, 0, len(errs)) } func Test_Client_Agent_InsecureSkipVerify(t *testing.T) { t.Parallel() cer, err := tls.LoadX509KeyPair("./.github/testdata/ssl.pem", "./.github/testdata/ssl.key") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) serverTLSConf := &tls.Config{ Certificates: []tls.Certificate{cer}, } ln, err := net.Listen(NetworkTCP4, "127.0.0.1:0") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) ln = tls.NewListener(ln, serverTLSConf) @@ -957,26 +958,26 @@ func Test_Client_Agent_InsecureSkipVerify(t *testing.T) { return c.SendString("ignore tls") }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() code, body, errs := Get("https://" + ln.Addr().String()). InsecureSkipVerify(). InsecureSkipVerify(). String() - utils.AssertEqual(t, 0, len(errs)) - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "ignore tls", body) + require.Equal(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "ignore tls", body) } func Test_Client_Agent_TLS(t *testing.T) { t.Parallel() serverTLSConf, clientTLSConf, err := tlstest.GetTLSConfigs() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) ln, err := net.Listen(NetworkTCP4, "127.0.0.1:0") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) ln = tls.NewListener(ln, serverTLSConf) @@ -986,15 +987,15 @@ func Test_Client_Agent_TLS(t *testing.T) { return c.SendString("tls") }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() code, body, errs := Get("https://" + ln.Addr().String()). TLSConfig(clientTLSConf). String() - utils.AssertEqual(t, 0, len(errs)) - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, "tls", body) + require.Equal(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, "tls", body) } func Test_Client_Agent_MaxRedirectsCount(t *testing.T) { @@ -1014,7 +1015,7 @@ func Test_Client_Agent_MaxRedirectsCount(t *testing.T) { return c.SendString("redirect") }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() t.Run("success", func(t *testing.T) { a := Get("http://example.com?foo"). @@ -1024,9 +1025,9 @@ func Test_Client_Agent_MaxRedirectsCount(t *testing.T) { code, body, errs := a.String() - utils.AssertEqual(t, 200, code) - utils.AssertEqual(t, "redirect", body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, 200, code) + require.Equal(t, "redirect", body) + require.Equal(t, 0, len(errs)) }) t.Run("error", func(t *testing.T) { @@ -1037,9 +1038,9 @@ func Test_Client_Agent_MaxRedirectsCount(t *testing.T) { _, body, errs := a.String() - utils.AssertEqual(t, "", body) - utils.AssertEqual(t, 1, len(errs)) - utils.AssertEqual(t, "too many redirects detected when doing the request", errs[0].Error()) + require.Equal(t, "", body) + require.Equal(t, 1, len(errs)) + require.Equal(t, "too many redirects detected when doing the request", errs[0].Error()) }) } @@ -1058,7 +1059,7 @@ func Test_Client_Agent_Struct(t *testing.T) { return c.SendString(`{"success"`) }) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() t.Run("success", func(t *testing.T) { t.Parallel() @@ -1071,10 +1072,10 @@ func Test_Client_Agent_Struct(t *testing.T) { code, body, errs := a.Struct(&d) - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, `{"success":true}`, string(body)) - utils.AssertEqual(t, 0, len(errs)) - utils.AssertEqual(t, true, d.Success) + require.Equal(t, StatusOK, code) + require.Equal(t, `{"success":true}`, string(body)) + require.Equal(t, 0, len(errs)) + require.True(t, d.Success) }) t.Run("pre error", func(t *testing.T) { @@ -1087,10 +1088,10 @@ func Test_Client_Agent_Struct(t *testing.T) { var d data _, body, errs := a.Struct(&d) - utils.AssertEqual(t, "", string(body)) - utils.AssertEqual(t, 1, len(errs)) - utils.AssertEqual(t, "pre errors", errs[0].Error()) - utils.AssertEqual(t, false, d.Success) + require.Equal(t, "", string(body)) + require.Equal(t, 1, len(errs)) + require.Equal(t, "pre errors", errs[0].Error()) + require.False(t, d.Success) }) t.Run("error", func(t *testing.T) { @@ -1102,10 +1103,10 @@ func Test_Client_Agent_Struct(t *testing.T) { code, body, errs := a.JSONDecoder(json.Unmarshal).Struct(&d) - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, `{"success"`, string(body)) - utils.AssertEqual(t, 1, len(errs)) - utils.AssertEqual(t, "unexpected end of JSON input", errs[0].Error()) + require.Equal(t, StatusOK, code) + require.Equal(t, `{"success"`, string(body)) + require.Equal(t, 1, len(errs)) + require.Equal(t, "unexpected end of JSON input", errs[0].Error()) }) } @@ -1114,12 +1115,12 @@ func Test_Client_Agent_Parse(t *testing.T) { a := Get("https://example.com:10443") - utils.AssertEqual(t, nil, a.Parse()) + require.Nil(t, a.Parse()) } func Test_AddMissingPort_TLS(t *testing.T) { addr := addMissingPort("example.com", true) - utils.AssertEqual(t, "example.com:443", addr) + require.Equal(t, "example.com:443", addr) } func testAgent(t *testing.T, handler Handler, wrapAgent func(agent *Agent), excepted string, count ...int) { @@ -1131,7 +1132,7 @@ func testAgent(t *testing.T, handler Handler, wrapAgent func(agent *Agent), exce app.Get("/", handler) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() c := 1 if len(count) > 0 { @@ -1147,9 +1148,9 @@ func testAgent(t *testing.T, handler Handler, wrapAgent func(agent *Agent), exce code, body, errs := a.String() - utils.AssertEqual(t, StatusOK, code) - utils.AssertEqual(t, excepted, body) - utils.AssertEqual(t, 0, len(errs)) + require.Equal(t, StatusOK, code) + require.Equal(t, excepted, body) + require.Equal(t, 0, len(errs)) } } diff --git a/ctx_test.go b/ctx_test.go index 2b41f30d..9998b474 100644 --- a/ctx_test.go +++ b/ctx_test.go @@ -27,6 +27,7 @@ import ( "github.com/gofiber/fiber/v3/internal/storage/memory" "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/bytebufferpool" "github.com/valyala/fasthttp" ) @@ -38,24 +39,24 @@ func Test_Ctx_Accepts(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderAccept, "text/html,application/xhtml+xml,application/xml;q=0.9") - utils.AssertEqual(t, "", c.Accepts("")) - utils.AssertEqual(t, "", c.Accepts()) - utils.AssertEqual(t, ".xml", c.Accepts(".xml")) - utils.AssertEqual(t, "", c.Accepts(".john")) + require.Equal(t, "", c.Accepts("")) + require.Equal(t, "", c.Accepts()) + require.Equal(t, ".xml", c.Accepts(".xml")) + require.Equal(t, "", c.Accepts(".john")) c.Request().Header.Set(HeaderAccept, "text/*, application/json") - utils.AssertEqual(t, "html", c.Accepts("html")) - utils.AssertEqual(t, "text/html", c.Accepts("text/html")) - utils.AssertEqual(t, "json", c.Accepts("json", "text")) - utils.AssertEqual(t, "application/json", c.Accepts("application/json")) - utils.AssertEqual(t, "", c.Accepts("image/png")) - utils.AssertEqual(t, "", c.Accepts("png")) + require.Equal(t, "html", c.Accepts("html")) + require.Equal(t, "text/html", c.Accepts("text/html")) + require.Equal(t, "json", c.Accepts("json", "text")) + require.Equal(t, "application/json", c.Accepts("application/json")) + require.Equal(t, "", c.Accepts("image/png")) + require.Equal(t, "", c.Accepts("png")) c.Request().Header.Set(HeaderAccept, "text/html, application/json") - utils.AssertEqual(t, "text/*", c.Accepts("text/*")) + require.Equal(t, "text/*", c.Accepts("text/*")) c.Request().Header.Set(HeaderAccept, "*/*") - utils.AssertEqual(t, "html", c.Accepts("html")) + require.Equal(t, "html", c.Accepts("html")) } // go test -v -run=^$ -bench=Benchmark_Ctx_Accepts -benchmem -count=4 @@ -70,7 +71,7 @@ func Benchmark_Ctx_Accepts(b *testing.B) { for n := 0; n < b.N; n++ { res = c.Accepts(".xml") } - utils.AssertEqual(b, ".xml", res) + require.Equal(b, ".xml", res) } type customCtx struct { @@ -97,10 +98,10 @@ func Test_Ctx_CustomCtx(t *testing.T) { return c.SendString(c.Params("id")) }) resp, err := app.Test(httptest.NewRequest("GET", "/v3", &bytes.Buffer{})) - utils.AssertEqual(t, nil, err, "app.Test(req)") + require.NoError(t, err, "app.Test(req)") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "io.ReadAll(resp.Body)") - utils.AssertEqual(t, "prefix_v3", string(body)) + require.NoError(t, err, "io.ReadAll(resp.Body)") + require.Equal(t, "prefix_v3", string(body)) } // go test -run Test_Ctx_Accepts_EmptyAccept @@ -109,7 +110,7 @@ func Test_Ctx_Accepts_EmptyAccept(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, ".forwarded", c.Accepts(".forwarded")) + require.Equal(t, ".forwarded", c.Accepts(".forwarded")) } // go test -run Test_Ctx_Accepts_Wildcard @@ -119,11 +120,11 @@ func Test_Ctx_Accepts_Wildcard(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderAccept, "*/*;q=0.9") - utils.AssertEqual(t, "html", c.Accepts("html")) - utils.AssertEqual(t, "foo", c.Accepts("foo")) - utils.AssertEqual(t, ".bar", c.Accepts(".bar")) + require.Equal(t, "html", c.Accepts("html")) + require.Equal(t, "foo", c.Accepts("foo")) + require.Equal(t, ".bar", c.Accepts(".bar")) c.Request().Header.Set(HeaderAccept, "text/html,application/*;q=0.9") - utils.AssertEqual(t, "xml", c.Accepts("xml")) + require.Equal(t, "xml", c.Accepts("xml")) } // go test -run Test_Ctx_AcceptsCharsets @@ -133,7 +134,7 @@ func Test_Ctx_AcceptsCharsets(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderAcceptCharset, "utf-8, iso-8859-1;q=0.5") - utils.AssertEqual(t, "utf-8", c.AcceptsCharsets("utf-8")) + require.Equal(t, "utf-8", c.AcceptsCharsets("utf-8")) } // go test -v -run=^$ -bench=Benchmark_Ctx_AcceptsCharsets -benchmem -count=4 @@ -148,7 +149,7 @@ func Benchmark_Ctx_AcceptsCharsets(b *testing.B) { for n := 0; n < b.N; n++ { res = c.AcceptsCharsets("utf-8") } - utils.AssertEqual(b, "utf-8", res) + require.Equal(b, "utf-8", res) } // go test -run Test_Ctx_AcceptsEncodings @@ -158,8 +159,8 @@ func Test_Ctx_AcceptsEncodings(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderAcceptEncoding, "deflate, gzip;q=1.0, *;q=0.5") - utils.AssertEqual(t, "gzip", c.AcceptsEncodings("gzip")) - utils.AssertEqual(t, "abc", c.AcceptsEncodings("abc")) + require.Equal(t, "gzip", c.AcceptsEncodings("gzip")) + require.Equal(t, "abc", c.AcceptsEncodings("abc")) } // go test -v -run=^$ -bench=Benchmark_Ctx_AcceptsEncodings -benchmem -count=4 @@ -174,7 +175,7 @@ func Benchmark_Ctx_AcceptsEncodings(b *testing.B) { for n := 0; n < b.N; n++ { res = c.AcceptsEncodings("gzip") } - utils.AssertEqual(b, "gzip", res) + require.Equal(b, "gzip", res) } // go test -run Test_Ctx_AcceptsLanguages @@ -184,7 +185,7 @@ func Test_Ctx_AcceptsLanguages(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderAcceptLanguage, "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5") - utils.AssertEqual(t, "fr", c.AcceptsLanguages("fr")) + require.Equal(t, "fr", c.AcceptsLanguages("fr")) } // go test -v -run=^$ -bench=Benchmark_Ctx_AcceptsLanguages -benchmem -count=4 @@ -199,7 +200,7 @@ func Benchmark_Ctx_AcceptsLanguages(b *testing.B) { for n := 0; n < b.N; n++ { res = c.AcceptsLanguages("fr") } - utils.AssertEqual(b, "fr", res) + require.Equal(b, "fr", res) } // go test -run Test_Ctx_App @@ -209,7 +210,7 @@ func Test_Ctx_App(t *testing.T) { app.config.BodyLimit = 1000 c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, 1000, c.App().config.BodyLimit) + require.Equal(t, 1000, c.App().config.BodyLimit) } // go test -run Test_Ctx_Append @@ -241,11 +242,11 @@ func Test_Ctx_Append(t *testing.T) { // without append value c.Append("X-Custom-Header") - utils.AssertEqual(t, "Hello, World", string(c.Response().Header.Peek("X-Test"))) - utils.AssertEqual(t, "World, XHello, Hello", string(c.Response().Header.Peek("X2-Test"))) - utils.AssertEqual(t, "XHello, World, Hello", string(c.Response().Header.Peek("X3-Test"))) - utils.AssertEqual(t, "XHello, Hello, HelloZ, YHello", string(c.Response().Header.Peek("X4-Test"))) - utils.AssertEqual(t, "", string(c.Response().Header.Peek("x-custom-header"))) + require.Equal(t, "Hello, World", string(c.Response().Header.Peek("X-Test"))) + require.Equal(t, "World, XHello, Hello", string(c.Response().Header.Peek("X2-Test"))) + require.Equal(t, "XHello, World, Hello", string(c.Response().Header.Peek("X3-Test"))) + require.Equal(t, "XHello, Hello, HelloZ, YHello", string(c.Response().Header.Peek("X4-Test"))) + require.Equal(t, "", string(c.Response().Header.Peek("x-custom-header"))) } // go test -v -run=^$ -bench=Benchmark_Ctx_Append -benchmem -count=4 @@ -260,7 +261,7 @@ func Benchmark_Ctx_Append(b *testing.B) { c.Append("X-Custom-Header", "World") c.Append("X-Custom-Header", "Hello") } - utils.AssertEqual(b, "Hello, World", app.getString(c.Response().Header.Peek("X-Custom-Header"))) + require.Equal(b, "Hello, World", app.getString(c.Response().Header.Peek("X-Custom-Header"))) } // go test -run Test_Ctx_Attachment @@ -271,14 +272,14 @@ func Test_Ctx_Attachment(t *testing.T) { // empty c.Attachment() - utils.AssertEqual(t, `attachment`, string(c.Response().Header.Peek(HeaderContentDisposition))) + require.Equal(t, `attachment`, string(c.Response().Header.Peek(HeaderContentDisposition))) // real filename c.Attachment("./static/img/logo.png") - utils.AssertEqual(t, `attachment; filename="logo.png"`, string(c.Response().Header.Peek(HeaderContentDisposition))) - utils.AssertEqual(t, "image/png", string(c.Response().Header.Peek(HeaderContentType))) + require.Equal(t, `attachment; filename="logo.png"`, string(c.Response().Header.Peek(HeaderContentDisposition))) + require.Equal(t, "image/png", string(c.Response().Header.Peek(HeaderContentType))) // check quoting c.Attachment("another document.pdf\"\r\nBla: \"fasel") - utils.AssertEqual(t, `attachment; filename="another+document.pdf%22%0D%0ABla%3A+%22fasel"`, string(c.Response().Header.Peek(HeaderContentDisposition))) + require.Equal(t, `attachment; filename="another+document.pdf%22%0D%0ABla%3A+%22fasel"`, string(c.Response().Header.Peek(HeaderContentDisposition))) } // go test -v -run=^$ -bench=Benchmark_Ctx_Attachment -benchmem -count=4 @@ -292,7 +293,7 @@ func Benchmark_Ctx_Attachment(b *testing.B) { // example with quote params c.Attachment("another document.pdf\"\r\nBla: \"fasel") } - utils.AssertEqual(b, `attachment; filename="another+document.pdf%22%0D%0ABla%3A+%22fasel"`, string(c.Response().Header.Peek(HeaderContentDisposition))) + require.Equal(b, `attachment; filename="another+document.pdf%22%0D%0ABla%3A+%22fasel"`, string(c.Response().Header.Peek(HeaderContentDisposition))) } // go test -run Test_Ctx_BaseURL @@ -302,9 +303,9 @@ func Test_Ctx_BaseURL(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().SetRequestURI("http://google.com/test") - utils.AssertEqual(t, "http://google.com", c.BaseURL()) + require.Equal(t, "http://google.com", c.BaseURL()) // Check cache - utils.AssertEqual(t, "http://google.com", c.BaseURL()) + require.Equal(t, "http://google.com", c.BaseURL()) } // go test -v -run=^$ -bench=Benchmark_Ctx_BaseURL -benchmem @@ -320,7 +321,7 @@ func Benchmark_Ctx_BaseURL(b *testing.B) { for n := 0; n < b.N; n++ { res = c.BaseURL() } - utils.AssertEqual(b, "http://google.com:1337", res) + require.Equal(b, "http://google.com:1337", res) } // go test -run Test_Ctx_Body @@ -330,7 +331,7 @@ func Test_Ctx_Body(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().SetBody([]byte("john=doe")) - utils.AssertEqual(t, []byte("john=doe"), c.Body()) + require.Equal(t, []byte("john=doe"), c.Body()) } // go test -run Test_Ctx_Body_With_Compression @@ -343,13 +344,13 @@ func Test_Ctx_Body_With_Compression(t *testing.T) { var b bytes.Buffer gz := gzip.NewWriter(&b) _, err := gz.Write([]byte("john=doe")) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) err = gz.Flush() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) err = gz.Close() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) c.Request().SetBody(b.Bytes()) - utils.AssertEqual(t, []byte("john=doe"), c.Body()) + require.Equal(t, []byte("john=doe"), c.Body()) } // go test -v -run=^$ -bench=Benchmark_Ctx_Body_With_Compression -benchmem -count=4 @@ -361,11 +362,11 @@ func Benchmark_Ctx_Body_With_Compression(b *testing.B) { var buf bytes.Buffer gz := gzip.NewWriter(&buf) _, err := gz.Write([]byte("john=doe")) - utils.AssertEqual(b, nil, err) + require.NoError(b, err) err = gz.Flush() - utils.AssertEqual(b, nil, err) + require.NoError(b, err) err = gz.Close() - utils.AssertEqual(b, nil, err) + require.NoError(b, err) c.Request().SetBody(buf.Bytes()) @@ -373,7 +374,7 @@ func Benchmark_Ctx_Body_With_Compression(b *testing.B) { _ = c.Body() } - utils.AssertEqual(b, []byte("john=doe"), c.Body()) + require.Equal(b, []byte("john=doe"), c.Body()) } // go test -run Test_Ctx_Context @@ -382,7 +383,7 @@ func Test_Ctx_Context(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, "*fasthttp.RequestCtx", fmt.Sprintf("%T", c.Context())) + require.Equal(t, "*fasthttp.RequestCtx", fmt.Sprintf("%T", c.Context())) } // go test -run Test_Ctx_UserContext @@ -392,13 +393,13 @@ func Test_Ctx_UserContext(t *testing.T) { t.Run("Nil_Context", func(t *testing.T) { ctx := c.UserContext() - utils.AssertEqual(t, ctx, context.Background()) + require.Equal(t, ctx, context.Background()) }) t.Run("ValueContext", func(t *testing.T) { testKey := struct{}{} testValue := "Test Value" ctx := context.WithValue(context.Background(), testKey, testValue) - utils.AssertEqual(t, testValue, ctx.Value(testKey)) + require.Equal(t, testValue, ctx.Value(testKey)) }) } @@ -411,7 +412,7 @@ func Test_Ctx_SetUserContext(t *testing.T) { testValue := "Test Value" ctx := context.WithValue(context.Background(), testKey, testValue) c.SetUserContext(ctx) - utils.AssertEqual(t, testValue, c.UserContext().Value(testKey)) + require.Equal(t, testValue, c.UserContext().Value(testKey)) } // go test -run Test_Ctx_UserContext_Multiple_Requests @@ -439,12 +440,12 @@ func Test_Ctx_UserContext_Multiple_Requests(t *testing.T) { t.Run(fmt.Sprintf("request_%d", i), func(t *testing.T) { resp, err := app.Test(httptest.NewRequest(MethodGet, fmt.Sprintf("/?input=%d", i), nil)) - utils.AssertEqual(t, nil, err, "Unexpected error from response") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "context.Context returned from c.UserContext() is reused") + require.NoError(t, err, "Unexpected error from response") + require.Equal(t, StatusOK, resp.StatusCode, "context.Context returned from c.UserContext() is reused") b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "Unexpected error from reading response body") - utils.AssertEqual(t, fmt.Sprintf("resp_%d_returned", i), string(b), "response text incorrect") + require.NoError(t, err, "Unexpected error from reading response body") + require.Equal(t, fmt.Sprintf("resp_%d_returned", i), string(b), "response text incorrect") }) } } @@ -467,23 +468,23 @@ func Test_Ctx_Cookie(t *testing.T) { } c.Cookie(cookie) expect := "username=john; expires=" + httpdate + "; path=/; SameSite=Lax" - utils.AssertEqual(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) + require.Equal(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) expect = "username=john; expires=" + httpdate + "; path=/" cookie.SameSite = CookieSameSiteDisabled c.Cookie(cookie) - utils.AssertEqual(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) + require.Equal(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) expect = "username=john; expires=" + httpdate + "; path=/; SameSite=Strict" cookie.SameSite = CookieSameSiteStrictMode c.Cookie(cookie) - utils.AssertEqual(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) + require.Equal(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) expect = "username=john; expires=" + httpdate + "; path=/; secure; SameSite=None" cookie.Secure = true cookie.SameSite = CookieSameSiteNoneMode c.Cookie(cookie) - utils.AssertEqual(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) + require.Equal(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) expect = "username=john; path=/; secure; SameSite=None" // should remove expires and max-age headers @@ -491,7 +492,7 @@ func Test_Ctx_Cookie(t *testing.T) { cookie.Expires = expire cookie.MaxAge = 10000 c.Cookie(cookie) - utils.AssertEqual(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) + require.Equal(t, expect, string(c.Response().Header.Peek(HeaderSetCookie))) } // go test -v -run=^$ -bench=Benchmark_Ctx_Cookie -benchmem -count=4 @@ -507,7 +508,7 @@ func Benchmark_Ctx_Cookie(b *testing.B) { Value: "Doe", }) } - utils.AssertEqual(b, "John=Doe; path=/; SameSite=Lax", app.getString(c.Response().Header.Peek("Set-Cookie"))) + require.Equal(b, "John=Doe; path=/; SameSite=Lax", app.getString(c.Response().Header.Peek("Set-Cookie"))) } // go test -run Test_Ctx_Cookies @@ -517,8 +518,8 @@ func Test_Ctx_Cookies(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set("Cookie", "john=doe") - utils.AssertEqual(t, "doe", c.Cookies("john")) - utils.AssertEqual(t, "default", c.Cookies("unknown", "default")) + require.Equal(t, "doe", c.Cookies("john")) + require.Equal(t, "default", c.Cookies("unknown", "default")) } // go test -run Test_Ctx_Format @@ -529,35 +530,35 @@ func Test_Ctx_Format(t *testing.T) { c.Request().Header.Set(HeaderAccept, MIMETextPlain) c.Format([]byte("Hello, World!")) - utils.AssertEqual(t, "Hello, World!", string(c.Response().Body())) + require.Equal(t, "Hello, World!", string(c.Response().Body())) c.Request().Header.Set(HeaderAccept, MIMETextHTML) c.Format("Hello, World!") - utils.AssertEqual(t, "

Hello, World!

", string(c.Response().Body())) + require.Equal(t, "

Hello, World!

", string(c.Response().Body())) c.Request().Header.Set(HeaderAccept, MIMEApplicationJSON) c.Format("Hello, World!") - utils.AssertEqual(t, `"Hello, World!"`, string(c.Response().Body())) + require.Equal(t, `"Hello, World!"`, string(c.Response().Body())) c.Request().Header.Set(HeaderAccept, MIMETextPlain) c.Format(complex(1, 1)) - utils.AssertEqual(t, "(1+1i)", string(c.Response().Body())) + require.Equal(t, "(1+1i)", string(c.Response().Body())) c.Request().Header.Set(HeaderAccept, MIMEApplicationXML) c.Format("Hello, World!") - utils.AssertEqual(t, `Hello, World!`, string(c.Response().Body())) + require.Equal(t, `Hello, World!`, string(c.Response().Body())) err := c.Format(complex(1, 1)) - utils.AssertEqual(t, true, err != nil) + require.True(t, err != nil) c.Request().Header.Set(HeaderAccept, MIMETextPlain) c.Format(Map{}) - utils.AssertEqual(t, "map[]", string(c.Response().Body())) + require.Equal(t, "map[]", string(c.Response().Body())) type broken string c.Request().Header.Set(HeaderAccept, "broken/accept") c.Format(broken("Hello, World!")) - utils.AssertEqual(t, `Hello, World!`, string(c.Response().Body())) + require.Equal(t, `Hello, World!`, string(c.Response().Body())) } // go test -v -run=^$ -bench=Benchmark_Ctx_Format -benchmem -count=4 @@ -571,7 +572,7 @@ func Benchmark_Ctx_Format(b *testing.B) { for n := 0; n < b.N; n++ { c.Format("Hello, World!") } - utils.AssertEqual(b, `Hello, World!`, string(c.Response().Body())) + require.Equal(b, `Hello, World!`, string(c.Response().Body())) } // go test -v -run=^$ -bench=Benchmark_Ctx_Format_HTML -benchmem -count=4 @@ -585,7 +586,7 @@ func Benchmark_Ctx_Format_HTML(b *testing.B) { for n := 0; n < b.N; n++ { c.Format("Hello, World!") } - utils.AssertEqual(b, "

Hello, World!

", string(c.Response().Body())) + require.Equal(b, "

Hello, World!

", string(c.Response().Body())) } // go test -v -run=^$ -bench=Benchmark_Ctx_Format_JSON -benchmem -count=4 @@ -599,7 +600,7 @@ func Benchmark_Ctx_Format_JSON(b *testing.B) { for n := 0; n < b.N; n++ { c.Format("Hello, World!") } - utils.AssertEqual(b, `"Hello, World!"`, string(c.Response().Body())) + require.Equal(b, `"Hello, World!"`, string(c.Response().Body())) } // go test -v -run=^$ -bench=Benchmark_Ctx_Format_XML -benchmem -count=4 @@ -613,7 +614,7 @@ func Benchmark_Ctx_Format_XML(b *testing.B) { for n := 0; n < b.N; n++ { c.Format("Hello, World!") } - utils.AssertEqual(b, `Hello, World!`, string(c.Response().Body())) + require.Equal(b, `Hello, World!`, string(c.Response().Body())) } // go test -run Test_Ctx_FormFile @@ -624,18 +625,18 @@ func Test_Ctx_FormFile(t *testing.T) { app.Post("/test", func(c Ctx) error { fh, err := c.FormFile("file") - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "test", fh.Filename) + require.NoError(t, err) + require.Equal(t, "test", fh.Filename) f, err := fh.Open() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) b := new(bytes.Buffer) _, err = io.Copy(b, f) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) f.Close() - utils.AssertEqual(t, "hello world", b.String()) + require.Equal(t, "hello world", b.String()) return nil }) @@ -643,10 +644,10 @@ func Test_Ctx_FormFile(t *testing.T) { writer := multipart.NewWriter(body) ioWriter, err := writer.CreateFormFile("file", "test") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) _, err = ioWriter.Write([]byte("hello world")) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) writer.Close() @@ -655,8 +656,8 @@ func Test_Ctx_FormFile(t *testing.T) { req.Header.Set(HeaderContentLength, strconv.Itoa(len(body.Bytes()))) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") } // go test -run Test_Ctx_FormValue @@ -665,14 +666,14 @@ func Test_Ctx_FormValue(t *testing.T) { app := New() app.Post("/test", func(c Ctx) error { - utils.AssertEqual(t, "john", c.FormValue("name")) + require.Equal(t, "john", c.FormValue("name")) return nil }) body := &bytes.Buffer{} writer := multipart.NewWriter(body) - utils.AssertEqual(t, nil, writer.WriteField("name", "john")) + require.Nil(t, writer.WriteField("name", "john")) writer.Close() req := httptest.NewRequest(MethodPost, "/test", body) @@ -680,8 +681,8 @@ func Test_Ctx_FormValue(t *testing.T) { req.Header.Set("Content-Length", strconv.Itoa(len(body.Bytes()))) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") } // go test -v -run=^$ -bench=Benchmark_Ctx_Fresh_StaleEtag -benchmem -count=4 @@ -706,44 +707,44 @@ func Test_Ctx_Fresh(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) c.Request().Header.Set(HeaderIfNoneMatch, "*") c.Request().Header.Set(HeaderCacheControl, "no-cache") - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) c.Request().Header.Set(HeaderIfNoneMatch, "*") c.Request().Header.Set(HeaderCacheControl, ",no-cache,") - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) c.Request().Header.Set(HeaderIfNoneMatch, "*") c.Request().Header.Set(HeaderCacheControl, "aa,no-cache,") - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) c.Request().Header.Set(HeaderIfNoneMatch, "*") c.Request().Header.Set(HeaderCacheControl, ",no-cache,bb") - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) c.Request().Header.Set(HeaderIfNoneMatch, "675af34563dc-tr34") c.Request().Header.Set(HeaderCacheControl, "public") - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) c.Request().Header.Set(HeaderIfNoneMatch, "a, b") c.Response().Header.Set(HeaderETag, "c") - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) c.Response().Header.Set(HeaderETag, "a") - utils.AssertEqual(t, true, c.Fresh()) + require.True(t, c.Fresh()) c.Request().Header.Set(HeaderIfModifiedSince, "xxWed, 21 Oct 2015 07:28:00 GMT") c.Response().Header.Set(HeaderLastModified, "xxWed, 21 Oct 2015 07:28:00 GMT") - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) c.Response().Header.Set(HeaderLastModified, "Wed, 21 Oct 2015 07:28:00 GMT") - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) c.Request().Header.Set(HeaderIfModifiedSince, "Wed, 21 Oct 2015 07:28:00 GMT") - utils.AssertEqual(t, false, c.Fresh()) + require.False(t, c.Fresh()) } // go test -v -run=^$ -bench=Benchmark_Ctx_Fresh_WithNoCache -benchmem -count=4 @@ -766,9 +767,9 @@ func Test_Ctx_Get(t *testing.T) { c.Request().Header.Set(HeaderAcceptCharset, "utf-8, iso-8859-1;q=0.5") c.Request().Header.Set(HeaderReferer, "Monster") - utils.AssertEqual(t, "utf-8, iso-8859-1;q=0.5", c.Get(HeaderAcceptCharset)) - utils.AssertEqual(t, "Monster", c.Get(HeaderReferer)) - utils.AssertEqual(t, "default", c.Get("unknown", "default")) + require.Equal(t, "utf-8, iso-8859-1;q=0.5", c.Get(HeaderAcceptCharset)) + require.Equal(t, "Monster", c.Get(HeaderReferer)) + require.Equal(t, "default", c.Get("unknown", "default")) } // go test -run Test_Ctx_Hostname @@ -778,7 +779,7 @@ func Test_Ctx_Hostname(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().SetRequestURI("http://google.com/test") - utils.AssertEqual(t, "google.com", c.Hostname()) + require.Equal(t, "google.com", c.Hostname()) } // go test -run Test_Ctx_Hostname_Untrusted @@ -790,7 +791,7 @@ func Test_Ctx_Hostname_UntrustedProxy(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().SetRequestURI("http://google.com/test") c.Request().Header.Set(HeaderXForwardedHost, "google1.com") - utils.AssertEqual(t, "google.com", c.Hostname()) + require.Equal(t, "google.com", c.Hostname()) app.ReleaseCtx(c) } // Trust to specific proxy list @@ -799,7 +800,7 @@ func Test_Ctx_Hostname_UntrustedProxy(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().SetRequestURI("http://google.com/test") c.Request().Header.Set(HeaderXForwardedHost, "google1.com") - utils.AssertEqual(t, "google.com", c.Hostname()) + require.Equal(t, "google.com", c.Hostname()) app.ReleaseCtx(c) } } @@ -812,7 +813,7 @@ func Test_Ctx_Hostname_TrustedProxy(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().SetRequestURI("http://google.com/test") c.Request().Header.Set(HeaderXForwardedHost, "google1.com") - utils.AssertEqual(t, "google1.com", c.Hostname()) + require.Equal(t, "google1.com", c.Hostname()) app.ReleaseCtx(c) } } @@ -825,7 +826,7 @@ func Test_Ctx_Hostname_TrustedProxyRange(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().SetRequestURI("http://google.com/test") c.Request().Header.Set(HeaderXForwardedHost, "google1.com") - utils.AssertEqual(t, "google1.com", c.Hostname()) + require.Equal(t, "google1.com", c.Hostname()) app.ReleaseCtx(c) } @@ -837,7 +838,7 @@ func Test_Ctx_Hostname_UntrustedProxyRange(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().SetRequestURI("http://google.com/test") c.Request().Header.Set(HeaderXForwardedHost, "google1.com") - utils.AssertEqual(t, "google.com", c.Hostname()) + require.Equal(t, "google.com", c.Hostname()) app.ReleaseCtx(c) } @@ -847,7 +848,7 @@ func Test_Ctx_Port(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, "0", c.Port()) + require.Equal(t, "0", c.Port()) } // go test -run Test_Ctx_PortInHandler @@ -860,12 +861,12 @@ func Test_Ctx_PortInHandler(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/port", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "0", string(body)) + require.NoError(t, err) + require.Equal(t, "0", string(body)) } // go test -run Test_Ctx_IP @@ -874,7 +875,7 @@ func Test_Ctx_IP(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, "0.0.0.0", c.IP()) + require.Equal(t, "0.0.0.0", c.IP()) } // go test -run Test_Ctx_IP_ProxyHeader @@ -883,7 +884,7 @@ func Test_Ctx_IP_ProxyHeader(t *testing.T) { app := New(Config{ProxyHeader: "Real-Ip"}) c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, "", c.IP()) + require.Equal(t, "", c.IP()) } // go test -run Test_Ctx_IP_UntrustedProxy @@ -893,7 +894,7 @@ func Test_Ctx_IP_UntrustedProxy(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedFor, "0.0.0.1") - utils.AssertEqual(t, "0.0.0.0", c.IP()) + require.Equal(t, "0.0.0.0", c.IP()) } // go test -run Test_Ctx_IP_TrustedProxy @@ -903,7 +904,7 @@ func Test_Ctx_IP_TrustedProxy(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedFor, "0.0.0.1") - utils.AssertEqual(t, "0.0.0.1", c.IP()) + require.Equal(t, "0.0.0.1", c.IP()) } // go test -run Test_Ctx_IPs -parallel @@ -913,13 +914,13 @@ func Test_Ctx_IPs(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedFor, "127.0.0.1, 127.0.0.2, 127.0.0.3") - utils.AssertEqual(t, []string{"127.0.0.1", "127.0.0.2", "127.0.0.3"}, c.IPs()) + require.Equal(t, []string{"127.0.0.1", "127.0.0.2", "127.0.0.3"}, c.IPs()) c.Request().Header.Set(HeaderXForwardedFor, "127.0.0.1,127.0.0.2 ,127.0.0.3") - utils.AssertEqual(t, []string{"127.0.0.1", "127.0.0.2", "127.0.0.3"}, c.IPs()) + require.Equal(t, []string{"127.0.0.1", "127.0.0.2", "127.0.0.3"}, c.IPs()) c.Request().Header.Set(HeaderXForwardedFor, "") - utils.AssertEqual(t, 0, len(c.IPs())) + require.Equal(t, 0, len(c.IPs())) } // go test -v -run=^$ -bench=Benchmark_Ctx_IPs -benchmem -count=4 @@ -934,7 +935,7 @@ func Benchmark_Ctx_IPs(b *testing.B) { for n := 0; n < b.N; n++ { res = c.IPs() } - utils.AssertEqual(b, []string{"127.0.0.1", "127.0.0.1", "127.0.0.1"}, res) + require.Equal(b, []string{"127.0.0.1", "127.0.0.1", "127.0.0.1"}, res) } // go test -run Test_Ctx_Is @@ -944,32 +945,32 @@ func Test_Ctx_Is(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderContentType, MIMETextHTML+"; boundary=something") - utils.AssertEqual(t, true, c.Is(".html")) - utils.AssertEqual(t, true, c.Is("html")) - utils.AssertEqual(t, false, c.Is("json")) - utils.AssertEqual(t, false, c.Is(".json")) - utils.AssertEqual(t, false, c.Is("")) - utils.AssertEqual(t, false, c.Is(".foooo")) + require.True(t, c.Is(".html")) + require.True(t, c.Is("html")) + require.False(t, c.Is("json")) + require.False(t, c.Is(".json")) + require.False(t, c.Is("")) + require.False(t, c.Is(".foooo")) c.Request().Header.Set(HeaderContentType, MIMEApplicationJSONCharsetUTF8) - utils.AssertEqual(t, false, c.Is("html")) - utils.AssertEqual(t, true, c.Is("json")) - utils.AssertEqual(t, true, c.Is(".json")) + require.False(t, c.Is("html")) + require.True(t, c.Is("json")) + require.True(t, c.Is(".json")) c.Request().Header.Set(HeaderContentType, " application/json;charset=UTF-8") - utils.AssertEqual(t, false, c.Is("html")) - utils.AssertEqual(t, true, c.Is("json")) - utils.AssertEqual(t, true, c.Is(".json")) + require.False(t, c.Is("html")) + require.True(t, c.Is("json")) + require.True(t, c.Is(".json")) c.Request().Header.Set(HeaderContentType, MIMEApplicationXMLCharsetUTF8) - utils.AssertEqual(t, false, c.Is("html")) - utils.AssertEqual(t, true, c.Is("xml")) - utils.AssertEqual(t, true, c.Is(".xml")) + require.False(t, c.Is("html")) + require.True(t, c.Is("xml")) + require.True(t, c.Is(".xml")) c.Request().Header.Set(HeaderContentType, MIMETextPlain) - utils.AssertEqual(t, false, c.Is("html")) - utils.AssertEqual(t, true, c.Is("txt")) - utils.AssertEqual(t, true, c.Is(".txt")) + require.False(t, c.Is("html")) + require.True(t, c.Is("txt")) + require.True(t, c.Is(".txt")) } // go test -v -run=^$ -bench=Benchmark_Ctx_Is -benchmem -count=4 @@ -985,7 +986,7 @@ func Benchmark_Ctx_Is(b *testing.B) { _ = c.Is(".json") res = c.Is("json") } - utils.AssertEqual(b, true, res) + require.True(b, res) } // go test -run Test_Ctx_Locals @@ -996,12 +997,12 @@ func Test_Ctx_Locals(t *testing.T) { return c.Next() }) app.Get("/test", func(c Ctx) error { - utils.AssertEqual(t, "doe", c.Locals("john")) + require.Equal(t, "doe", c.Locals("john")) return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") } // go test -run Test_Ctx_Method @@ -1012,12 +1013,12 @@ func Test_Ctx_Method(t *testing.T) { app := New() c := app.NewCtx(fctx) - utils.AssertEqual(t, MethodGet, c.Method()) + require.Equal(t, MethodGet, c.Method()) c.Method(MethodPost) - utils.AssertEqual(t, MethodPost, c.Method()) + require.Equal(t, MethodPost, c.Method()) c.Method("MethodInvalid") - utils.AssertEqual(t, MethodPost, c.Method()) + require.Equal(t, MethodPost, c.Method()) } // go test -run Test_Ctx_ClientHelloInfo @@ -1052,7 +1053,7 @@ func Test_Ctx_ClientHelloInfo(t *testing.T) { // Test without TLS handler resp, _ := app.Test(httptest.NewRequest(MethodGet, "/ServerName", nil)) body, _ := io.ReadAll(resp.Body) - utils.AssertEqual(t, []byte("ClientHelloInfo is nil"), body) + require.Equal(t, []byte("ClientHelloInfo is nil"), body) // Test with TLS Handler const ( @@ -1068,17 +1069,17 @@ func Test_Ctx_ClientHelloInfo(t *testing.T) { // Test ServerName resp, _ = app.Test(httptest.NewRequest(MethodGet, "/ServerName", nil)) body, _ = io.ReadAll(resp.Body) - utils.AssertEqual(t, []byte("example.golang"), body) + require.Equal(t, []byte("example.golang"), body) // Test SignatureSchemes resp, _ = app.Test(httptest.NewRequest(MethodGet, "/SignatureSchemes", nil)) body, _ = io.ReadAll(resp.Body) - utils.AssertEqual(t, "["+strconv.Itoa(PSSWithSHA256)+"]", string(body)) + require.Equal(t, "["+strconv.Itoa(PSSWithSHA256)+"]", string(body)) // Test SupportedVersions resp, _ = app.Test(httptest.NewRequest(MethodGet, "/SupportedVersions", nil)) body, _ = io.ReadAll(resp.Body) - utils.AssertEqual(t, "["+strconv.Itoa(VersionTLS13)+"]", string(body)) + require.Equal(t, "["+strconv.Itoa(VersionTLS13)+"]", string(body)) } // go test -run Test_Ctx_InvalidMethod @@ -1095,8 +1096,8 @@ func Test_Ctx_InvalidMethod(t *testing.T) { app.Handler()(fctx) - utils.AssertEqual(t, 400, fctx.Response.StatusCode()) - utils.AssertEqual(t, []byte("Invalid http method"), fctx.Response.Body()) + require.Equal(t, 400, fctx.Response.StatusCode()) + require.Equal(t, []byte("Invalid http method"), fctx.Response.Body()) } // go test -run Test_Ctx_MultipartForm @@ -1106,15 +1107,15 @@ func Test_Ctx_MultipartForm(t *testing.T) { app.Post("/test", func(c Ctx) error { result, err := c.MultipartForm() - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "john", result.Value["name"][0]) + require.NoError(t, err) + require.Equal(t, "john", result.Value["name"][0]) return nil }) body := &bytes.Buffer{} writer := multipart.NewWriter(body) - utils.AssertEqual(t, nil, writer.WriteField("name", "john")) + require.Nil(t, writer.WriteField("name", "john")) writer.Close() req := httptest.NewRequest(MethodPost, "/test", body) @@ -1122,8 +1123,8 @@ func Test_Ctx_MultipartForm(t *testing.T) { req.Header.Set(HeaderContentLength, strconv.Itoa(len(body.Bytes()))) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") } // go test -v -run=^$ -bench=Benchmark_Ctx_MultipartForm -benchmem -count=4 @@ -1159,7 +1160,7 @@ func Test_Ctx_OriginalURL(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.SetRequestURI("http://google.com/test?search=demo") - utils.AssertEqual(t, "http://google.com/test?search=demo", c.OriginalURL()) + require.Equal(t, "http://google.com/test?search=demo", c.OriginalURL()) } // go test -race -run Test_Ctx_Params @@ -1167,38 +1168,38 @@ func Test_Ctx_Params(t *testing.T) { t.Parallel() app := New() app.Get("/test/:user", func(c Ctx) error { - utils.AssertEqual(t, "john", c.Params("user")) + require.Equal(t, "john", c.Params("user")) return nil }) app.Get("/test2/*", func(c Ctx) error { - utils.AssertEqual(t, "im/a/cookie", c.Params("*")) + require.Equal(t, "im/a/cookie", c.Params("*")) return nil }) app.Get("/test3/*/blafasel/*", func(c Ctx) error { - utils.AssertEqual(t, "1111", c.Params("*1")) - utils.AssertEqual(t, "2222", c.Params("*2")) - utils.AssertEqual(t, "1111", c.Params("*")) + require.Equal(t, "1111", c.Params("*1")) + require.Equal(t, "2222", c.Params("*2")) + require.Equal(t, "1111", c.Params("*")) return nil }) app.Get("/test4/:optional?", func(c Ctx) error { - utils.AssertEqual(t, "", c.Params("optional")) + require.Equal(t, "", c.Params("optional")) return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/test/john", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/test2/im/a/cookie", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/test3/1111/blafasel/2222", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/test4", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") } // go test -v -run=^$ -bench=Benchmark_Ctx_Params -benchmem -count=4 @@ -1223,7 +1224,7 @@ func Benchmark_Ctx_Params(b *testing.B) { _ = c.Params("param3") res = c.Params("param4") } - utils.AssertEqual(b, "awesome", res) + require.Equal(b, "awesome", res) } // go test -run Test_Ctx_Path @@ -1231,23 +1232,23 @@ func Test_Ctx_Path(t *testing.T) { t.Parallel() app := New(Config{UnescapePath: true}) app.Get("/test/:user", func(c Ctx) error { - utils.AssertEqual(t, "/Test/John", c.Path()) + require.Equal(t, "/Test/John", c.Path()) // not strict && case insensitive - utils.AssertEqual(t, "/ABC/", c.Path("/ABC/")) - utils.AssertEqual(t, "/test/john/", c.Path("/test/john/")) + require.Equal(t, "/ABC/", c.Path("/ABC/")) + require.Equal(t, "/test/john/", c.Path("/test/john/")) return nil }) // test with special chars app.Get("/specialChars/:name", func(c Ctx) error { - utils.AssertEqual(t, "/specialChars/créer", c.Path()) + require.Equal(t, "/specialChars/créer", c.Path()) // unescape is also working if you set the path afterwards - utils.AssertEqual(t, "/اختبار/", c.Path("/%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1/")) + require.Equal(t, "/اختبار/", c.Path("/%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1/")) return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/specialChars/cr%C3%A9er", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") } // go test -run Test_Ctx_Protocol @@ -1256,10 +1257,10 @@ func Test_Ctx_Protocol(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, "HTTP/1.1", c.Protocol()) + require.Equal(t, "HTTP/1.1", c.Protocol()) c.Request().Header.SetProtocol("HTTP/2") - utils.AssertEqual(t, "HTTP/2", c.Protocol()) + require.Equal(t, "HTTP/2", c.Protocol()) } // go test -v -run=^$ -bench=Benchmark_Ctx_Protocol -benchmem -count=4 @@ -1275,7 +1276,7 @@ func Benchmark_Ctx_Protocol(b *testing.B) { res = c.Protocol() } - utils.AssertEqual(b, "HTTP/1.1", res) + require.Equal(b, "HTTP/1.1", res) } // go test -run Test_Ctx_Scheme @@ -1288,22 +1289,22 @@ func Test_Ctx_Scheme(t *testing.T) { c := app.NewCtx(freq) c.Request().Header.Set(HeaderXForwardedProto, "https") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedProtocol, "https") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedSsl, "on") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXUrlScheme, "https") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) } // go test -v -run=^$ -bench=Benchmark_Ctx_Scheme -benchmem -count=4 @@ -1317,7 +1318,7 @@ func Benchmark_Ctx_Scheme(b *testing.B) { for n := 0; n < b.N; n++ { res = c.Scheme() } - utils.AssertEqual(b, "http", res) + require.Equal(b, "http", res) } // go test -run Test_Ctx_Scheme_TrustedProxy @@ -1327,22 +1328,22 @@ func Test_Ctx_Scheme_TrustedProxy(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedProto, "https") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedProtocol, "https") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedSsl, "on") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXUrlScheme, "https") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) } // go test -run Test_Ctx_Scheme_TrustedProxyRange @@ -1352,22 +1353,22 @@ func Test_Ctx_Scheme_TrustedProxyRange(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedProto, "https") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedProtocol, "https") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedSsl, "on") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXUrlScheme, "https") - utils.AssertEqual(t, "https", c.Scheme()) + require.Equal(t, "https", c.Scheme()) c.Request().Header.Reset() - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) } // go test -run Test_Ctx_Scheme_UntrustedProxyRange @@ -1377,22 +1378,22 @@ func Test_Ctx_Scheme_UntrustedProxyRange(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedProto, "https") - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedProtocol, "https") - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedSsl, "on") - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXUrlScheme, "https") - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) c.Request().Header.Reset() - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) } // go test -run Test_Ctx_Scheme_UnTrustedProxy @@ -1402,22 +1403,22 @@ func Test_Ctx_Scheme_UnTrustedProxy(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedProto, "https") - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedProtocol, "https") - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXForwardedSsl, "on") - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) c.Request().Header.Reset() c.Request().Header.Set(HeaderXUrlScheme, "https") - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) c.Request().Header.Reset() - utils.AssertEqual(t, "http", c.Scheme()) + require.Equal(t, "http", c.Scheme()) } // go test -run Test_Ctx_Query @@ -1427,9 +1428,9 @@ func Test_Ctx_Query(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().URI().SetQueryString("search=john&age=20") - utils.AssertEqual(t, "john", c.Query("search")) - utils.AssertEqual(t, "20", c.Query("age")) - utils.AssertEqual(t, "default", c.Query("unknown", "default")) + require.Equal(t, "john", c.Query("search")) + require.Equal(t, "20", c.Query("age")) + require.Equal(t, "default", c.Query("unknown", "default")) } // go test -run Test_Ctx_Range @@ -1444,27 +1445,27 @@ func Test_Ctx_Range(t *testing.T) { ) _, err = c.Range(1000) - utils.AssertEqual(t, true, err != nil) + require.True(t, err != nil) c.Request().Header.Set(HeaderRange, "bytes=500") _, err = c.Range(1000) - utils.AssertEqual(t, true, err != nil) + require.True(t, err != nil) c.Request().Header.Set(HeaderRange, "bytes=500=") _, err = c.Range(1000) - utils.AssertEqual(t, true, err != nil) + require.True(t, err != nil) c.Request().Header.Set(HeaderRange, "bytes=500-300") _, err = c.Range(1000) - utils.AssertEqual(t, true, err != nil) + require.True(t, err != nil) testRange := func(header string, start, end int) { c.Request().Header.Set(HeaderRange, header) result, err = c.Range(1000) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "bytes", result.Type) - utils.AssertEqual(t, start, result.Ranges[0].Start) - utils.AssertEqual(t, end, result.Ranges[0].End) + require.NoError(t, err) + require.Equal(t, "bytes", result.Type) + require.Equal(t, start, result.Ranges[0].Start) + require.Equal(t, end, result.Ranges[0].End) } testRange("bytes=a-700", 300, 999) @@ -1478,18 +1479,18 @@ func Test_Ctx_Route(t *testing.T) { t.Parallel() app := New() app.Get("/test", func(c Ctx) error { - utils.AssertEqual(t, "/test", c.Route().Path) + require.Equal(t, "/test", c.Route().Path) return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, "/", c.Route().Path) - utils.AssertEqual(t, MethodGet, c.Route().Method) - utils.AssertEqual(t, 0, len(c.Route().Handlers)) + require.Equal(t, "/", c.Route().Path) + require.Equal(t, MethodGet, c.Route().Method) + require.Equal(t, 0, len(c.Route().Handlers)) } // go test -run Test_Ctx_RouteNormalized @@ -1497,12 +1498,12 @@ func Test_Ctx_RouteNormalized(t *testing.T) { t.Parallel() app := New() app.Get("/test", func(c Ctx) error { - utils.AssertEqual(t, "/test", c.Route().Path) + require.Equal(t, "/test", c.Route().Path) return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "//test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusNotFound, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusNotFound, resp.StatusCode, "Status code") } // go test -run Test_Ctx_SaveFile @@ -1513,18 +1514,18 @@ func Test_Ctx_SaveFile(t *testing.T) { app.Post("/test", func(c Ctx) error { fh, err := c.FormFile("file") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) tempFile, err := os.CreateTemp(os.TempDir(), "test-") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) defer os.Remove(tempFile.Name()) err = c.SaveFile(fh, tempFile.Name()) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) bs, err := os.ReadFile(tempFile.Name()) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "hello world", string(bs)) + require.NoError(t, err) + require.Equal(t, "hello world", string(bs)) return nil }) @@ -1532,10 +1533,10 @@ func Test_Ctx_SaveFile(t *testing.T) { writer := multipart.NewWriter(body) ioWriter, err := writer.CreateFormFile("file", "test") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) _, err = ioWriter.Write([]byte("hello world")) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) writer.Close() req := httptest.NewRequest(MethodPost, "/test", body) @@ -1543,8 +1544,8 @@ func Test_Ctx_SaveFile(t *testing.T) { req.Header.Set("Content-Length", strconv.Itoa(len(body.Bytes()))) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") } // go test -run Test_Ctx_SaveFileToStorage @@ -1555,17 +1556,17 @@ func Test_Ctx_SaveFileToStorage(t *testing.T) { app.Post("/test", func(c Ctx) error { fh, err := c.FormFile("file") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) err = c.SaveFileToStorage(fh, "test", storage) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) file, err := storage.Get("test") - utils.AssertEqual(t, []byte("hello world"), file) - utils.AssertEqual(t, nil, err) + require.Equal(t, []byte("hello world"), file) + require.NoError(t, err) err = storage.Delete("test") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) return nil }) @@ -1574,10 +1575,10 @@ func Test_Ctx_SaveFileToStorage(t *testing.T) { writer := multipart.NewWriter(body) ioWriter, err := writer.CreateFormFile("file", "test") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) _, err = ioWriter.Write([]byte("hello world")) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) writer.Close() req := httptest.NewRequest(MethodPost, "/test", body) @@ -1585,8 +1586,8 @@ func Test_Ctx_SaveFileToStorage(t *testing.T) { req.Header.Set("Content-Length", strconv.Itoa(len(body.Bytes()))) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") } // go test -run Test_Ctx_Secure @@ -1596,7 +1597,7 @@ func Test_Ctx_Secure(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) // TODO Add TLS conn - utils.AssertEqual(t, false, c.Secure()) + require.False(t, c.Secure()) } // go test -run Test_Ctx_Stale @@ -1605,7 +1606,7 @@ func Test_Ctx_Stale(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, true, c.Stale()) + require.True(t, c.Stale()) } // go test -run Test_Ctx_Subdomains @@ -1615,10 +1616,10 @@ func Test_Ctx_Subdomains(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().URI().SetHost("john.doe.is.awesome.google.com") - utils.AssertEqual(t, []string{"john", "doe"}, c.Subdomains(4)) + require.Equal(t, []string{"john", "doe"}, c.Subdomains(4)) c.Request().URI().SetHost("localhost:3000") - utils.AssertEqual(t, []string{"localhost:3000"}, c.Subdomains()) + require.Equal(t, []string{"localhost:3000"}, c.Subdomains()) } // go test -v -run=^$ -bench=Benchmark_Ctx_Subdomains -benchmem -count=4 @@ -1633,7 +1634,7 @@ func Benchmark_Ctx_Subdomains(b *testing.B) { for n := 0; n < b.N; n++ { res = c.Subdomains() } - utils.AssertEqual(b, []string{"john", "doe"}, res) + require.Equal(b, []string{"john", "doe"}, res) } // go test -run Test_Ctx_ClearCookie @@ -1644,13 +1645,13 @@ func Test_Ctx_ClearCookie(t *testing.T) { c.Request().Header.Set(HeaderCookie, "john=doe") c.ClearCookie("john") - utils.AssertEqual(t, true, strings.HasPrefix(string(c.Response().Header.Peek(HeaderSetCookie)), "john=; expires=")) + require.True(t, strings.HasPrefix(string(c.Response().Header.Peek(HeaderSetCookie)), "john=; expires=")) c.Request().Header.Set(HeaderCookie, "test1=dummy") c.Request().Header.Set(HeaderCookie, "test2=dummy") c.ClearCookie() - utils.AssertEqual(t, true, strings.Contains(string(c.Response().Header.Peek(HeaderSetCookie)), "test1=; expires=")) - utils.AssertEqual(t, true, strings.Contains(string(c.Response().Header.Peek(HeaderSetCookie)), "test2=; expires=")) + require.True(t, strings.Contains(string(c.Response().Header.Peek(HeaderSetCookie)), "test1=; expires=")) + require.True(t, strings.Contains(string(c.Response().Header.Peek(HeaderSetCookie)), "test2=; expires=")) } // go test -race -run Test_Ctx_Download @@ -1662,16 +1663,16 @@ func Test_Ctx_Download(t *testing.T) { c.Download("ctx.go", "Awesome File!") f, err := os.Open("./ctx.go") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) defer f.Close() expect, err := io.ReadAll(f) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, expect, c.Response().Body()) - utils.AssertEqual(t, `attachment; filename="Awesome+File%21"`, string(c.Response().Header.Peek(HeaderContentDisposition))) + require.NoError(t, err) + require.Equal(t, expect, c.Response().Body()) + require.Equal(t, `attachment; filename="Awesome+File%21"`, string(c.Response().Header.Peek(HeaderContentDisposition))) c.Download("ctx.go") - utils.AssertEqual(t, `attachment; filename="ctx.go"`, string(c.Response().Header.Peek(HeaderContentDisposition))) + require.Equal(t, `attachment; filename="ctx.go"`, string(c.Response().Header.Peek(HeaderContentDisposition))) } // go test -race -run Test_Ctx_SendFile @@ -1681,30 +1682,30 @@ func Test_Ctx_SendFile(t *testing.T) { // fetch file content f, err := os.Open("./ctx.go") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) defer f.Close() expectFileContent, err := io.ReadAll(f) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) // fetch file info for the not modified test case fI, err := os.Stat("./ctx.go") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) // simple test case c := app.NewCtx(&fasthttp.RequestCtx{}) err = c.SendFile("ctx.go") // check expectation - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, expectFileContent, c.Response().Body()) - utils.AssertEqual(t, StatusOK, c.Response().StatusCode()) + require.NoError(t, err) + require.Equal(t, expectFileContent, c.Response().Body()) + require.Equal(t, StatusOK, c.Response().StatusCode()) app.ReleaseCtx(c) // test with custom error code c = app.NewCtx(&fasthttp.RequestCtx{}) err = c.Status(StatusInternalServerError).SendFile("ctx.go") // check expectation - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, expectFileContent, c.Response().Body()) - utils.AssertEqual(t, StatusInternalServerError, c.Response().StatusCode()) + require.NoError(t, err) + require.Equal(t, expectFileContent, c.Response().Body()) + require.Equal(t, StatusInternalServerError, c.Response().StatusCode()) app.ReleaseCtx(c) // test not modified @@ -1712,9 +1713,9 @@ func Test_Ctx_SendFile(t *testing.T) { c.Request().Header.Set(HeaderIfModifiedSince, fI.ModTime().Format(time.RFC1123)) err = c.SendFile("ctx.go") // check expectation - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, StatusNotModified, c.Response().StatusCode()) - utils.AssertEqual(t, []byte(nil), c.Response().Body()) + require.NoError(t, err) + require.Equal(t, StatusNotModified, c.Response().StatusCode()) + require.Equal(t, []byte(nil), c.Response().Body()) app.ReleaseCtx(c) } @@ -1724,13 +1725,13 @@ func Test_Ctx_SendFile_404(t *testing.T) { app := New() app.Get("/", func(c Ctx) error { err := c.SendFile(filepath.FromSlash("john_dow.go/")) - utils.AssertEqual(t, false, err == nil) + require.False(t, err == nil) return err }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, StatusNotFound, resp.StatusCode) } // go test -race -run Test_Ctx_SendFile_Immutable @@ -1742,7 +1743,7 @@ func Test_Ctx_SendFile_Immutable(t *testing.T) { endpointsForTest = append(endpointsForTest, endpoint) app.Get(endpoint, func(c Ctx) error { if err := c.SendFile(file); err != nil { - utils.AssertEqual(t, nil, err) + require.NoError(t, err) return err } return c.SendStatus(200) @@ -1757,7 +1758,7 @@ func Test_Ctx_SendFile_Immutable(t *testing.T) { // absolute paths if path, err := filepath.Abs(".github/index.html"); err != nil { - utils.AssertEqual(t, nil, err) + require.NoError(t, err) } else { addEndpoint(path, "/absolute") addEndpoint(filepath.FromSlash(path), "/absoluteOS") // os related @@ -1767,12 +1768,12 @@ func Test_Ctx_SendFile_Immutable(t *testing.T) { t.Run(endpoint, func(t *testing.T) { // 1st try resp, err := app.Test(httptest.NewRequest("GET", endpoint, nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, StatusOK, resp.StatusCode) // 2nd try resp, err = app.Test(httptest.NewRequest("GET", endpoint, nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, StatusOK, resp.StatusCode) }) } } @@ -1784,7 +1785,7 @@ func Test_Ctx_SendFile_RestoreOriginalURL(t *testing.T) { app.Get("/", func(c Ctx) error { originalURL := utils.CopyString(c.OriginalURL()) err := c.SendFile("ctx.go") - utils.AssertEqual(t, originalURL, c.OriginalURL()) + require.Equal(t, originalURL, c.OriginalURL()) return err }) @@ -1792,8 +1793,8 @@ func Test_Ctx_SendFile_RestoreOriginalURL(t *testing.T) { // second request required to confirm with zero allocation _, err2 := app.Test(httptest.NewRequest("GET", "/?test=true", nil)) - utils.AssertEqual(t, nil, err1) - utils.AssertEqual(t, nil, err2) + require.Nil(t, err1) + require.Nil(t, err2) } // go test -run Test_Ctx_JSON @@ -1802,19 +1803,19 @@ func Test_Ctx_JSON(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, true, c.JSON(complex(1, 1)) != nil) + require.True(t, c.JSON(complex(1, 1)) != nil) c.JSON(Map{ // map has no order "Name": "Grame", "Age": 20, }) - utils.AssertEqual(t, `{"Age":20,"Name":"Grame"}`, string(c.Response().Body())) - utils.AssertEqual(t, "application/json", string(c.Response().Header.Peek("content-type"))) + require.Equal(t, `{"Age":20,"Name":"Grame"}`, string(c.Response().Body())) + require.Equal(t, "application/json", string(c.Response().Header.Peek("content-type"))) testEmpty := func(v any, r string) { err := c.JSON(v) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, r, string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, r, string(c.Response().Body())) } testEmpty(nil, "null") @@ -1842,8 +1843,8 @@ func Benchmark_Ctx_JSON(b *testing.B) { for n := 0; n < b.N; n++ { err = c.JSON(data) } - utils.AssertEqual(b, nil, err) - utils.AssertEqual(b, `{"Name":"Grame","Age":20}`, string(c.Response().Body())) + require.NoError(b, err) + require.Equal(b, `{"Name":"Grame","Age":20}`, string(c.Response().Body())) } // go test -run Test_Ctx_JSONP @@ -1852,21 +1853,21 @@ func Test_Ctx_JSONP(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, true, c.JSONP(complex(1, 1)) != nil) + require.True(t, c.JSONP(complex(1, 1)) != nil) c.JSONP(Map{ "Name": "Grame", "Age": 20, }) - utils.AssertEqual(t, `callback({"Age":20,"Name":"Grame"});`, string(c.Response().Body())) - utils.AssertEqual(t, "application/javascript; charset=utf-8", string(c.Response().Header.Peek("content-type"))) + require.Equal(t, `callback({"Age":20,"Name":"Grame"});`, string(c.Response().Body())) + require.Equal(t, "application/javascript; charset=utf-8", string(c.Response().Header.Peek("content-type"))) c.JSONP(Map{ "Name": "Grame", "Age": 20, }, "john") - utils.AssertEqual(t, `john({"Age":20,"Name":"Grame"});`, string(c.Response().Body())) - utils.AssertEqual(t, "application/javascript; charset=utf-8", string(c.Response().Header.Peek("content-type"))) + require.Equal(t, `john({"Age":20,"Name":"Grame"});`, string(c.Response().Body())) + require.Equal(t, "application/javascript; charset=utf-8", string(c.Response().Header.Peek("content-type"))) } // go test -v -run=^$ -bench=Benchmark_Ctx_JSONP -benchmem -count=4 @@ -1889,8 +1890,8 @@ func Benchmark_Ctx_JSONP(b *testing.B) { for n := 0; n < b.N; n++ { err = c.JSONP(data, callback) } - utils.AssertEqual(b, nil, err) - utils.AssertEqual(b, `emit({"Name":"Grame","Age":20});`, string(c.Response().Body())) + require.NoError(b, err) + require.Equal(b, `emit({"Name":"Grame","Age":20});`, string(c.Response().Body())) } // go test -run Test_Ctx_XML @@ -1899,7 +1900,7 @@ func Test_Ctx_XML(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}).(*DefaultCtx) - utils.AssertEqual(t, true, c.JSON(complex(1, 1)) != nil) + require.True(t, c.JSON(complex(1, 1)) != nil) type xmlResult struct { XMLName xml.Name `xml:"Users"` @@ -1912,13 +1913,13 @@ func Test_Ctx_XML(t *testing.T) { Ages: []int{1, 12, 20}, }) - utils.AssertEqual(t, `GrameJohn11220`, string(c.Response().Body())) - utils.AssertEqual(t, "application/xml", string(c.Response().Header.Peek("content-type"))) + require.Equal(t, `GrameJohn11220`, string(c.Response().Body())) + require.Equal(t, "application/xml", string(c.Response().Header.Peek("content-type"))) testEmpty := func(v any, r string) { err := c.XML(v) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, r, string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, r, string(c.Response().Body())) } testEmpty(nil, "") @@ -1946,8 +1947,8 @@ func Benchmark_Ctx_XML(b *testing.B) { err = c.XML(data) } - utils.AssertEqual(b, nil, err) - utils.AssertEqual(b, `Grame20`, string(c.Response().Body())) + require.NoError(b, err) + require.Equal(b, `Grame20`, string(c.Response().Body())) } // go test -run Test_Ctx_Links @@ -1957,13 +1958,13 @@ func Test_Ctx_Links(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Links() - utils.AssertEqual(t, "", string(c.Response().Header.Peek(HeaderLink))) + require.Equal(t, "", string(c.Response().Header.Peek(HeaderLink))) c.Links( "http://api.example.com/users?page=2", "next", "http://api.example.com/users?page=5", "last", ) - utils.AssertEqual(t, `; rel="next",; rel="last"`, string(c.Response().Header.Peek(HeaderLink))) + require.Equal(t, `; rel="next",; rel="last"`, string(c.Response().Header.Peek(HeaderLink))) } // go test -v -run=^$ -bench=Benchmark_Ctx_Links -benchmem -count=4 @@ -1988,7 +1989,7 @@ func Test_Ctx_Location(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Location("http://example.com") - utils.AssertEqual(t, "http://example.com", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(t, "http://example.com", string(c.Response().Header.Peek(HeaderLocation))) } // go test -run Test_Ctx_Next @@ -2002,9 +2003,9 @@ func Test_Ctx_Next(t *testing.T) { return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "http://example.com/test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") - utils.AssertEqual(t, "Works", resp.Header.Get("X-Next-Result")) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") + require.Equal(t, "Works", resp.Header.Get("X-Next-Result")) } // go test -run Test_Ctx_Next_Error @@ -2016,9 +2017,9 @@ func Test_Ctx_Next_Error(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "http://example.com/test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusNotFound, resp.StatusCode, "Status code") - utils.AssertEqual(t, "Works", resp.Header.Get("X-Next-Result")) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusNotFound, resp.StatusCode, "Status code") + require.Equal(t, "Works", resp.Header.Get("X-Next-Result")) } // go test -run Test_Ctx_Redirect @@ -2028,12 +2029,12 @@ func Test_Ctx_Redirect(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Redirect("http://default.com") - utils.AssertEqual(t, 302, c.Response().StatusCode()) - utils.AssertEqual(t, "http://default.com", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(t, 302, c.Response().StatusCode()) + require.Equal(t, "http://default.com", string(c.Response().Header.Peek(HeaderLocation))) c.Redirect("http://example.com", 301) - utils.AssertEqual(t, 301, c.Response().StatusCode()) - utils.AssertEqual(t, "http://example.com", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(t, 301, c.Response().StatusCode()) + require.Equal(t, "http://example.com", string(c.Response().Header.Peek(HeaderLocation))) } // go test -run Test_Ctx_RedirectToRouteWithParams @@ -2048,8 +2049,8 @@ func Test_Ctx_RedirectToRouteWithParams(t *testing.T) { c.RedirectToRoute("user", Map{ "name": "fiber", }) - utils.AssertEqual(t, 302, c.Response().StatusCode()) - utils.AssertEqual(t, "/user/fiber", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(t, 302, c.Response().StatusCode()) + require.Equal(t, "/user/fiber", string(c.Response().Header.Peek(HeaderLocation))) } // go test -run Test_Ctx_RedirectToRouteWithParams @@ -2065,12 +2066,12 @@ func Test_Ctx_RedirectToRouteWithQueries(t *testing.T) { "name": "fiber", "queries": map[string]string{"data[0][name]": "john", "data[0][age]": "10", "test": "doe"}, }) - utils.AssertEqual(t, 302, c.Response().StatusCode()) + require.Equal(t, 302, c.Response().StatusCode()) // analysis of query parameters with url parsing, since a map pass is always randomly ordered location, err := url.Parse(string(c.Response().Header.Peek(HeaderLocation))) - utils.AssertEqual(t, nil, err, "url.Parse(location)") - utils.AssertEqual(t, "/user/fiber", location.Path) - utils.AssertEqual(t, url.Values{"data[0][name]": []string{"john"}, "data[0][age]": []string{"10"}, "test": []string{"doe"}}, location.Query()) + require.NoError(t, err, "url.Parse(location)") + require.Equal(t, "/user/fiber", location.Path) + require.Equal(t, url.Values{"data[0][name]": []string{"john"}, "data[0][age]": []string{"10"}, "test": []string{"doe"}}, location.Query()) } // go test -run Test_Ctx_RedirectToRouteWithOptionalParams @@ -2085,8 +2086,8 @@ func Test_Ctx_RedirectToRouteWithOptionalParams(t *testing.T) { c.RedirectToRoute("user", Map{ "name": "fiber", }) - utils.AssertEqual(t, 302, c.Response().StatusCode()) - utils.AssertEqual(t, "/user/fiber", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(t, 302, c.Response().StatusCode()) + require.Equal(t, "/user/fiber", string(c.Response().Header.Peek(HeaderLocation))) } // go test -run Test_Ctx_RedirectToRouteWithOptionalParamsWithoutValue @@ -2099,8 +2100,8 @@ func Test_Ctx_RedirectToRouteWithOptionalParamsWithoutValue(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.RedirectToRoute("user", Map{}) - utils.AssertEqual(t, 302, c.Response().StatusCode()) - utils.AssertEqual(t, "/user/", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(t, 302, c.Response().StatusCode()) + require.Equal(t, "/user/", string(c.Response().Header.Peek(HeaderLocation))) } // go test -run Test_Ctx_RedirectToRouteWithGreedyParameters @@ -2115,8 +2116,8 @@ func Test_Ctx_RedirectToRouteWithGreedyParameters(t *testing.T) { c.RedirectToRoute("user", Map{ "+": "test/routes", }) - utils.AssertEqual(t, 302, c.Response().StatusCode()) - utils.AssertEqual(t, "/user/test/routes", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(t, 302, c.Response().StatusCode()) + require.Equal(t, "/user/test/routes", string(c.Response().Header.Peek(HeaderLocation))) } // go test -run Test_Ctx_RedirectBack @@ -2129,8 +2130,8 @@ func Test_Ctx_RedirectBack(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.RedirectBack("/") - utils.AssertEqual(t, 302, c.Response().StatusCode()) - utils.AssertEqual(t, "/", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(t, 302, c.Response().StatusCode()) + require.Equal(t, "/", string(c.Response().Header.Peek(HeaderLocation))) } // go test -run Test_Ctx_RedirectBackWithReferer @@ -2147,9 +2148,9 @@ func Test_Ctx_RedirectBackWithReferer(t *testing.T) { c.Request().Header.Set(HeaderReferer, "/back") c.RedirectBack("/") - utils.AssertEqual(t, 302, c.Response().StatusCode()) - utils.AssertEqual(t, "/back", c.Get(HeaderReferer)) - utils.AssertEqual(t, "/back", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(t, 302, c.Response().StatusCode()) + require.Equal(t, "/back", c.Get(HeaderReferer)) + require.Equal(t, "/back", string(c.Response().Header.Peek(HeaderLocation))) } // go test -run Test_Ctx_Render @@ -2166,14 +2167,14 @@ func Test_Ctx_Render(t *testing.T) { _, _ = buf.WriteString("overwrite") defer bytebufferpool.Put(buf) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

Hello, World!

", string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, "

Hello, World!

", string(c.Response().Body())) err = c.Render("./.github/testdata/template-non-exists.html", nil) - utils.AssertEqual(t, false, err == nil) + require.False(t, err == nil) err = c.Render("./.github/testdata/template-invalid.html", nil) - utils.AssertEqual(t, false, err == nil) + require.False(t, err == nil) } // go test -run Test_Ctx_Render_Mount @@ -2197,12 +2198,12 @@ func Test_Ctx_Render_Mount(t *testing.T) { app.Mount("/hello", sub) resp, err := app.Test(httptest.NewRequest(MethodGet, "/hello/a", nil)) - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") - utils.AssertEqual(t, nil, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

Hello a!

", string(body)) + require.NoError(t, err) + require.Equal(t, "

Hello a!

", string(body)) } func Test_Ctx_Render_MountGroup(t *testing.T) { @@ -2226,12 +2227,12 @@ func Test_Ctx_Render_MountGroup(t *testing.T) { v1.Mount("/john", micro) resp, err := app.Test(httptest.NewRequest(MethodGet, "/v1/john/doe", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

Hello doe!

", string(body)) + require.NoError(t, err) + require.Equal(t, "

Hello doe!

", string(body)) } func Test_Ctx_RenderWithoutLocals(t *testing.T) { @@ -2249,8 +2250,8 @@ func Test_Ctx_RenderWithoutLocals(t *testing.T) { _, _ = buf.WriteString("overwrite") defer bytebufferpool.Put(buf) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

", string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, "

", string(c.Response().Body())) } func Test_Ctx_RenderWithLocals(t *testing.T) { @@ -2268,8 +2269,8 @@ func Test_Ctx_RenderWithLocals(t *testing.T) { _, _ = buf.WriteString("overwrite") defer bytebufferpool.Put(buf) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

Hello, World!

", string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, "

Hello, World!

", string(c.Response().Body())) } @@ -2289,8 +2290,8 @@ func Test_Ctx_RenderWithBindVars(t *testing.T) { _, _ = buf.WriteString("overwrite") defer bytebufferpool.Put(buf) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

Hello, World!

", string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, "

Hello, World!

", string(c.Response().Body())) } @@ -2311,8 +2312,8 @@ func Test_Ctx_RenderWithBindVarsLocals(t *testing.T) { err := c.Render("./.github/testdata/template.tmpl", Map{}) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

Hello, World! Test

", string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, "

Hello, World! Test

", string(c.Response().Body())) } @@ -2320,7 +2321,7 @@ func Test_Ctx_RenderWithLocalsAndBinding(t *testing.T) { t.Parallel() engine := &testTemplateEngine{} err := engine.Load() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) app := New(Config{ PassLocalsToViews: true, @@ -2334,14 +2335,14 @@ func Test_Ctx_RenderWithLocalsAndBinding(t *testing.T) { "Title": "Hello, World!", }) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

Hello, World!

", string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, "

Hello, World!

", string(c.Response().Body())) } func Benchmark_Ctx_RenderWithLocalsAndBindVars(b *testing.B) { engine := &testTemplateEngine{} err := engine.Load() - utils.AssertEqual(b, nil, err) + require.NoError(b, err) app := New(Config{ PassLocalsToViews: true, Views: engine, @@ -2360,8 +2361,8 @@ func Benchmark_Ctx_RenderWithLocalsAndBindVars(b *testing.B) { err = c.Render("template.tmpl", Map{}) } - utils.AssertEqual(b, nil, err) - utils.AssertEqual(b, "

Hello, World! Test

", string(c.Response().Body())) + require.NoError(b, err) + require.Equal(b, "

Hello, World! Test

", string(c.Response().Body())) } func Benchmark_Ctx_RedirectToRoute(b *testing.B) { @@ -2381,8 +2382,8 @@ func Benchmark_Ctx_RedirectToRoute(b *testing.B) { }) } - utils.AssertEqual(b, 302, c.Response().StatusCode()) - utils.AssertEqual(b, "/user/fiber", string(c.Response().Header.Peek(HeaderLocation))) + require.Equal(b, 302, c.Response().StatusCode()) + require.Equal(b, "/user/fiber", string(c.Response().Header.Peek(HeaderLocation))) } func Benchmark_Ctx_RedirectToRouteWithQueries(b *testing.B) { @@ -2403,18 +2404,18 @@ func Benchmark_Ctx_RedirectToRouteWithQueries(b *testing.B) { }) } - utils.AssertEqual(b, 302, c.Response().StatusCode()) + require.Equal(b, 302, c.Response().StatusCode()) // analysis of query parameters with url parsing, since a map pass is always randomly ordered location, err := url.Parse(string(c.Response().Header.Peek(HeaderLocation))) - utils.AssertEqual(b, nil, err, "url.Parse(location)") - utils.AssertEqual(b, "/user/fiber", location.Path) - utils.AssertEqual(b, url.Values{"a": []string{"a"}, "b": []string{"b"}}, location.Query()) + require.NoError(b, err, "url.Parse(location)") + require.Equal(b, "/user/fiber", location.Path) + require.Equal(b, url.Values{"a": []string{"a"}, "b": []string{"b"}}, location.Query()) } func Benchmark_Ctx_RenderLocals(b *testing.B) { engine := &testTemplateEngine{} err := engine.Load() - utils.AssertEqual(b, nil, err) + require.NoError(b, err) app := New(Config{ PassLocalsToViews: true, }) @@ -2430,14 +2431,14 @@ func Benchmark_Ctx_RenderLocals(b *testing.B) { err = c.Render("index.tmpl", Map{}) } - utils.AssertEqual(b, nil, err) - utils.AssertEqual(b, "

Hello, World!

", string(c.Response().Body())) + require.NoError(b, err) + require.Equal(b, "

Hello, World!

", string(c.Response().Body())) } func Benchmark_Ctx_RenderBindVars(b *testing.B) { engine := &testTemplateEngine{} err := engine.Load() - utils.AssertEqual(b, nil, err) + require.NoError(b, err) app := New() app.config.Views = engine c := app.NewCtx(&fasthttp.RequestCtx{}) @@ -2453,8 +2454,8 @@ func Benchmark_Ctx_RenderBindVars(b *testing.B) { err = c.Render("index.tmpl", Map{}) } - utils.AssertEqual(b, nil, err) - utils.AssertEqual(b, "

Hello, World!

", string(c.Response().Body())) + require.NoError(b, err) + require.Equal(b, "

Hello, World!

", string(c.Response().Body())) } // go test -run Test_Ctx_RestartRouting @@ -2469,9 +2470,9 @@ func Test_Ctx_RestartRouting(t *testing.T) { return nil }) resp, err := app.Test(httptest.NewRequest(MethodGet, "http://example.com/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") - utils.AssertEqual(t, 3, calls, "Number of calls") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") + require.Equal(t, 3, calls, "Number of calls") } // go test -run Test_Ctx_RestartRoutingWithChangedPath @@ -2494,10 +2495,10 @@ func Test_Ctx_RestartRoutingWithChangedPath(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "http://example.com/old", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") - utils.AssertEqual(t, false, executedOldHandler, "Executed old handler") - utils.AssertEqual(t, true, executedNewHandler, "Executed new handler") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") + require.False(t, executedOldHandler, "Executed old handler") + require.True(t, executedNewHandler, "Executed new handler") } // go test -run Test_Ctx_RestartRoutingWithChangedPathAnd404 @@ -2516,8 +2517,8 @@ func Test_Ctx_RestartRoutingWithChangedPathAndCatchAll(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "http://example.com/old", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") } type testTemplateEngine struct { @@ -2548,8 +2549,8 @@ func Test_Ctx_Render_Engine(t *testing.T) { err := c.Render("index.tmpl", Map{ "Title": "Hello, World!", }) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

Hello, World!

", string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, "

Hello, World!

", string(c.Response().Body())) } // go test -run Test_Ctx_Render_Engine_With_View_Layout @@ -2563,15 +2564,15 @@ func Test_Ctx_Render_Engine_With_View_Layout(t *testing.T) { err := c.Render("index.tmpl", Map{ "Title": "Hello, World!", }) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "

Hello, World!

I'm main

", string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, "

Hello, World!

I'm main

", string(c.Response().Body())) } // go test -v -run=^$ -bench=Benchmark_Ctx_Render_Engine -benchmem -count=4 func Benchmark_Ctx_Render_Engine(b *testing.B) { engine := &testTemplateEngine{} err := engine.Load() - utils.AssertEqual(b, nil, err) + require.NoError(b, err) app := New() app.config.Views = engine c := app.NewCtx(&fasthttp.RequestCtx{}) @@ -2583,8 +2584,8 @@ func Benchmark_Ctx_Render_Engine(b *testing.B) { "Title": "Hello, World!", }) } - utils.AssertEqual(b, nil, err) - utils.AssertEqual(b, "

Hello, World!

", string(c.Response().Body())) + require.NoError(b, err) + require.Equal(b, "

Hello, World!

", string(c.Response().Body())) } // go test -v -run=^$ -bench=Benchmark_Ctx_Get_Location_From_Route -benchmem -count=4 @@ -2610,8 +2611,8 @@ func Test_Ctx_Get_Location_From_Route_name(t *testing.T) { }).Name("User") location, err := c.GetRouteURL("User", Map{"name": "fiber"}) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "/user/fiber", location) + require.NoError(t, err) + require.Equal(t, "/user/fiber", location) } // go test -run Test_Ctx_Get_Location_From_Route_name_Optional_greedy @@ -2628,8 +2629,8 @@ func Test_Ctx_Get_Location_From_Route_name_Optional_greedy(t *testing.T) { "*1": "sms", "*2": "test-msg", }) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "/23456789/sms/send/test-msg", location) + require.NoError(t, err) + require.Equal(t, "/23456789/sms/send/test-msg", location) } // go test -run Test_Ctx_Get_Location_From_Route_name_Optional_greedy_one_param @@ -2645,8 +2646,8 @@ func Test_Ctx_Get_Location_From_Route_name_Optional_greedy_one_param(t *testing. "phone": "23456789", "*": "sms", }) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "/23456789/sms/send", location) + require.NoError(t, err) + require.Equal(t, "/23456789/sms/send", location) } type errorTemplateEngine struct{} @@ -2664,7 +2665,7 @@ func Test_Ctx_Render_Engine_Error(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) err := c.Render("index.tmpl", nil) - utils.AssertEqual(t, false, err == nil) + require.False(t, err == nil) } // go test -run Test_Ctx_Render_Go_Template @@ -2672,22 +2673,22 @@ func Test_Ctx_Render_Go_Template(t *testing.T) { t.Parallel() file, err := os.CreateTemp(os.TempDir(), "fiber") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) defer os.Remove(file.Name()) _, err = file.Write([]byte("template")) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) err = file.Close() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) err = c.Render(file.Name(), nil) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "template", string(c.Response().Body())) + require.NoError(t, err) + require.Equal(t, "template", string(c.Response().Body())) } // go test -run Test_Ctx_Send @@ -2699,7 +2700,7 @@ func Test_Ctx_Send(t *testing.T) { c.Send([]byte("Hello, World")) c.Send([]byte("Don't crash please")) c.Send([]byte("1337")) - utils.AssertEqual(t, "1337", string(c.Response().Body())) + require.Equal(t, "1337", string(c.Response().Body())) } // go test -v -run=^$ -bench=Benchmark_Ctx_Send -benchmem -count=4 @@ -2713,7 +2714,7 @@ func Benchmark_Ctx_Send(b *testing.B) { for n := 0; n < b.N; n++ { c.Send(byt) } - utils.AssertEqual(b, "Hello, World!", string(c.Response().Body())) + require.Equal(b, "Hello, World!", string(c.Response().Body())) } // go test -run Test_Ctx_SendStatus @@ -2723,8 +2724,8 @@ func Test_Ctx_SendStatus(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.SendStatus(415) - utils.AssertEqual(t, 415, c.Response().StatusCode()) - utils.AssertEqual(t, "Unsupported Media Type", string(c.Response().Body())) + require.Equal(t, 415, c.Response().StatusCode()) + require.Equal(t, "Unsupported Media Type", string(c.Response().Body())) } // go test -run Test_Ctx_SendString @@ -2734,7 +2735,7 @@ func Test_Ctx_SendString(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.SendString("Don't crash please") - utils.AssertEqual(t, "Don't crash please", string(c.Response().Body())) + require.Equal(t, "Don't crash please", string(c.Response().Body())) } // go test -run Test_Ctx_SendStream @@ -2744,18 +2745,18 @@ func Test_Ctx_SendStream(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.SendStream(bytes.NewReader([]byte("Don't crash please"))) - utils.AssertEqual(t, "Don't crash please", string(c.Response().Body())) + require.Equal(t, "Don't crash please", string(c.Response().Body())) c.SendStream(bytes.NewReader([]byte("Don't crash please")), len([]byte("Don't crash please"))) - utils.AssertEqual(t, "Don't crash please", string(c.Response().Body())) + require.Equal(t, "Don't crash please", string(c.Response().Body())) c.SendStream(bufio.NewReader(bytes.NewReader([]byte("Hello bufio")))) - utils.AssertEqual(t, "Hello bufio", string(c.Response().Body())) + require.Equal(t, "Hello bufio", string(c.Response().Body())) file, err := os.Open("./.github/index.html") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) c.SendStream(bufio.NewReader(file)) - utils.AssertEqual(t, true, c.Response().Header.ContentLength() > 200) + require.True(t, c.Response().Header.ContentLength() > 200) } // go test -run Test_Ctx_Set @@ -2768,9 +2769,9 @@ func Test_Ctx_Set(t *testing.T) { c.Set("X-2", "2") c.Set("X-3", "3") c.Set("X-3", "1337") - utils.AssertEqual(t, "1", string(c.Response().Header.Peek("x-1"))) - utils.AssertEqual(t, "2", string(c.Response().Header.Peek("x-2"))) - utils.AssertEqual(t, "1337", string(c.Response().Header.Peek("x-3"))) + require.Equal(t, "1", string(c.Response().Header.Peek("x-1"))) + require.Equal(t, "2", string(c.Response().Header.Peek("x-2"))) + require.Equal(t, "1337", string(c.Response().Header.Peek("x-3"))) } // go test -run Test_Ctx_Set_Splitter @@ -2781,11 +2782,11 @@ func Test_Ctx_Set_Splitter(t *testing.T) { c.Set("Location", "foo\r\nSet-Cookie:%20SESSIONID=MaliciousValue\r\n") h := string(c.Response().Header.Peek("Location")) - utils.AssertEqual(t, false, strings.Contains(h, "\r\n"), h) + require.False(t, strings.Contains(h, "\r\n"), h) c.Set("Location", "foo\nSet-Cookie:%20SESSIONID=MaliciousValue\n") h = string(c.Response().Header.Peek("Location")) - utils.AssertEqual(t, false, strings.Contains(h, "\n"), h) + require.False(t, strings.Contains(h, "\n"), h) } // go test -v -run=^$ -bench=Benchmark_Ctx_Set -benchmem -count=4 @@ -2808,10 +2809,10 @@ func Test_Ctx_Status(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Status(400) - utils.AssertEqual(t, 400, c.Response().StatusCode()) + require.Equal(t, 400, c.Response().StatusCode()) c.Status(415).Send([]byte("Hello, World")) - utils.AssertEqual(t, 415, c.Response().StatusCode()) - utils.AssertEqual(t, "Hello, World", string(c.Response().Body())) + require.Equal(t, 415, c.Response().StatusCode()) + require.Equal(t, "Hello, World", string(c.Response().Body())) } // go test -run Test_Ctx_Type @@ -2821,16 +2822,16 @@ func Test_Ctx_Type(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Type(".json") - utils.AssertEqual(t, "application/json", string(c.Response().Header.Peek("Content-Type"))) + require.Equal(t, "application/json", string(c.Response().Header.Peek("Content-Type"))) c.Type("json", "utf-8") - utils.AssertEqual(t, "application/json; charset=utf-8", string(c.Response().Header.Peek("Content-Type"))) + require.Equal(t, "application/json; charset=utf-8", string(c.Response().Header.Peek("Content-Type"))) c.Type(".html") - utils.AssertEqual(t, "text/html", string(c.Response().Header.Peek("Content-Type"))) + require.Equal(t, "text/html", string(c.Response().Header.Peek("Content-Type"))) c.Type("html", "utf-8") - utils.AssertEqual(t, "text/html; charset=utf-8", string(c.Response().Header.Peek("Content-Type"))) + require.Equal(t, "text/html; charset=utf-8", string(c.Response().Header.Peek("Content-Type"))) } // go test -v -run=^$ -bench=Benchmark_Ctx_Type -benchmem -count=4 @@ -2868,7 +2869,7 @@ func Test_Ctx_Vary(t *testing.T) { c.Vary("Origin") c.Vary("User-Agent") c.Vary("Accept-Encoding", "Accept") - utils.AssertEqual(t, "Origin, User-Agent, Accept-Encoding, Accept", string(c.Response().Header.Peek("Vary"))) + require.Equal(t, "Origin, User-Agent, Accept-Encoding, Accept", string(c.Response().Header.Peek("Vary"))) } // go test -v -run=^$ -bench=Benchmark_Ctx_Vary -benchmem -count=4 @@ -2891,7 +2892,7 @@ func Test_Ctx_Write(t *testing.T) { c.Write([]byte("Hello, ")) c.Write([]byte("World!")) - utils.AssertEqual(t, "Hello, World!", string(c.Response().Body())) + require.Equal(t, "Hello, World!", string(c.Response().Body())) } // go test -v -run=^$ -bench=Benchmark_Ctx_Write -benchmem -count=4 @@ -2915,7 +2916,7 @@ func Test_Ctx_Writef(t *testing.T) { world := "World!" c.Writef("Hello, %s", world) - utils.AssertEqual(t, "Hello, World!", string(c.Response().Body())) + require.Equal(t, "Hello, World!", string(c.Response().Body())) } // go test -v -run=^$ -bench=Benchmark_Ctx_Writef -benchmem -count=4 @@ -2939,7 +2940,7 @@ func Test_Ctx_WriteString(t *testing.T) { c.WriteString("Hello, ") c.WriteString("World!") - utils.AssertEqual(t, "Hello, World!", string(c.Response().Body())) + require.Equal(t, "Hello, World!", string(c.Response().Body())) } // go test -run Test_Ctx_XHR @@ -2949,7 +2950,7 @@ func Test_Ctx_XHR(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXRequestedWith, "XMLHttpRequest") - utils.AssertEqual(t, true, c.XHR()) + require.True(t, c.XHR()) } // go test -run=^$ -bench=Benchmark_Ctx_XHR -benchmem -count=4 @@ -2964,7 +2965,7 @@ func Benchmark_Ctx_XHR(b *testing.B) { for n := 0; n < b.N; n++ { equal = c.XHR() } - utils.AssertEqual(b, true, equal) + require.True(b, equal) } // go test -v -run=^$ -bench=Benchmark_Ctx_SendString_B -benchmem -count=4 @@ -2978,7 +2979,7 @@ func Benchmark_Ctx_SendString_B(b *testing.B) { for n := 0; n < b.N; n++ { c.SendString(body) } - utils.AssertEqual(b, []byte("Hello, world!"), c.Response().Body()) + require.Equal(b, []byte("Hello, world!"), c.Response().Body()) } // go test -run Test_Ctx_BodyStreamWriter @@ -3036,7 +3037,7 @@ func Test_Ctx_String(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, "#0000000000000000 - 0.0.0.0:0 <-> 0.0.0.0:0 - GET http:///", c.String()) + require.Equal(t, "#0000000000000000 - 0.0.0.0:0 <-> 0.0.0.0:0 - GET http:///", c.String()) } func TestCtx_ParamsInt(t *testing.T) { @@ -3140,8 +3141,8 @@ func Test_Ctx_GetRespHeader(t *testing.T) { c.Set("test", "Hello, World 👋!") c.Response().Header.Set(HeaderContentType, "application/json") - utils.AssertEqual(t, c.GetRespHeader("test"), "Hello, World 👋!") - utils.AssertEqual(t, c.GetRespHeader(HeaderContentType), "application/json") + require.Equal(t, c.GetRespHeader("test"), "Hello, World 👋!") + require.Equal(t, c.GetRespHeader(HeaderContentType), "application/json") } // go test -run Test_Ctx_IsFromLocal @@ -3152,7 +3153,7 @@ func Test_Ctx_IsFromLocal(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, true, c.IsFromLocal()) + require.True(t, c.IsFromLocal()) } // This is a test for "0.0.0.0" { @@ -3160,7 +3161,7 @@ func Test_Ctx_IsFromLocal(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedFor, "0.0.0.0") - utils.AssertEqual(t, true, c.IsFromLocal()) + require.True(t, c.IsFromLocal()) } // This is a test for "127.0.0.1" @@ -3169,7 +3170,7 @@ func Test_Ctx_IsFromLocal(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedFor, "127.0.0.1") - utils.AssertEqual(t, true, c.IsFromLocal()) + require.True(t, c.IsFromLocal()) } // This is a test for "localhost" @@ -3177,7 +3178,7 @@ func Test_Ctx_IsFromLocal(t *testing.T) { app := New() c := app.NewCtx(&fasthttp.RequestCtx{}) - utils.AssertEqual(t, true, c.IsFromLocal()) + require.True(t, c.IsFromLocal()) } // This is testing "::1", it is the compressed format IPV6 loopback address 0:0:0:0:0:0:0:1. @@ -3187,7 +3188,7 @@ func Test_Ctx_IsFromLocal(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedFor, "::1") - utils.AssertEqual(t, true, c.IsFromLocal()) + require.True(t, c.IsFromLocal()) } { @@ -3195,6 +3196,6 @@ func Test_Ctx_IsFromLocal(t *testing.T) { c := app.NewCtx(&fasthttp.RequestCtx{}) c.Request().Header.Set(HeaderXForwardedFor, "93.46.8.90") - utils.AssertEqual(t, false, c.IsFromLocal()) + require.False(t, c.IsFromLocal()) } } diff --git a/error_test.go b/error_test.go index ca78044f..7fce3c12 100644 --- a/error_test.go +++ b/error_test.go @@ -7,61 +7,61 @@ import ( jerrors "encoding/json" "github.com/gofiber/fiber/v3/internal/schema" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) func TestConversionError(t *testing.T) { ok := errors.As(ConversionError{}, &schema.ConversionError{}) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func TestUnknownKeyError(t *testing.T) { ok := errors.As(UnknownKeyError{}, &schema.UnknownKeyError{}) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func TestEmptyFieldError(t *testing.T) { ok := errors.As(EmptyFieldError{}, &schema.EmptyFieldError{}) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func TestMultiError(t *testing.T) { ok := errors.As(MultiError{}, &schema.MultiError{}) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func TestInvalidUnmarshalError(t *testing.T) { var e *jerrors.InvalidUnmarshalError ok := errors.As(&InvalidUnmarshalError{}, &e) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func TestMarshalerError(t *testing.T) { var e *jerrors.MarshalerError ok := errors.As(&MarshalerError{}, &e) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func TestSyntaxError(t *testing.T) { var e *jerrors.SyntaxError ok := errors.As(&SyntaxError{}, &e) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func TestUnmarshalTypeError(t *testing.T) { var e *jerrors.UnmarshalTypeError ok := errors.As(&UnmarshalTypeError{}, &e) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func TestUnsupportedTypeError(t *testing.T) { var e *jerrors.UnsupportedTypeError ok := errors.As(&UnsupportedTypeError{}, &e) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func TestUnsupportedValeError(t *testing.T) { var e *jerrors.UnsupportedValueError ok := errors.As(&UnsupportedValueError{}, &e) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } diff --git a/go.mod b/go.mod index b6575c4b..7bdc4a2e 100644 --- a/go.mod +++ b/go.mod @@ -7,6 +7,7 @@ require ( github.com/mattn/go-colorable v0.1.13 github.com/mattn/go-isatty v0.0.16 github.com/savsgio/dictpool v0.0.0-20220406081701-03de5edb2e6d + github.com/stretchr/testify v1.8.0 github.com/tinylib/msgp v1.1.6 github.com/valyala/bytebufferpool v1.0.0 github.com/valyala/fasthttp v1.39.0 @@ -15,9 +16,12 @@ require ( require ( github.com/andybalholm/brotli v1.0.4 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect github.com/klauspost/compress v1.15.9 // indirect github.com/philhofer/fwd v1.1.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/savsgio/gotils v0.0.0-20220530130905-52f3993e8d6d // indirect github.com/valyala/tcplisten v1.0.0 // indirect golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 4a18053b..c72df004 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,8 @@ github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= @@ -11,11 +14,18 @@ github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peK github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/philhofer/fwd v1.1.1 h1:GdGcTjf5RNAxwS4QLsiMzJYj5KEvPJD3Abr261yRQXQ= github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/savsgio/dictpool v0.0.0-20220406081701-03de5edb2e6d h1:ICMDEgNgR5xFW6ZDeMKTtmh07YiLr7GkDw897I2DwKg= github.com/savsgio/dictpool v0.0.0-20220406081701-03de5edb2e6d/go.mod h1:jrsy/bTK2n5uybo7bAvtLGzmuzAbxp+nKS8bzgrZURE= github.com/savsgio/gotils v0.0.0-20220401102855-e56b59f40436/go.mod h1:Gy+0tqhJvgGlqnTF8CVGP0AaGRjwBtXs/a5PA0Y3+A4= github.com/savsgio/gotils v0.0.0-20220530130905-52f3993e8d6d h1:Q+gqLBOPkFGHyCJxXMRqtUgUbTjI8/Ze8vu8GGyNFwo= github.com/savsgio/gotils v0.0.0-20220530130905-52f3993e8d6d/go.mod h1:Gy+0tqhJvgGlqnTF8CVGP0AaGRjwBtXs/a5PA0Y3+A4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/tinylib/msgp v1.1.6 h1:i+SbKraHhnrf9M5MYmvQhFnbLhAXSDWF8WWsuyRdocw= github.com/tinylib/msgp v1.1.6/go.mod h1:75BAfg2hauQhs3qedfdDZmWAPcFMAvJE5b9rGOMufyw= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= @@ -62,3 +72,8 @@ golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4f golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/helpers_test.go b/helpers_test.go index 0718f6bb..e299cd44 100644 --- a/helpers_test.go +++ b/helpers_test.go @@ -13,6 +13,7 @@ import ( "time" "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -20,7 +21,7 @@ func Test_Utils_UniqueRouteStack(t *testing.T) { route1 := &Route{} route2 := &Route{} route3 := &Route{} - utils.AssertEqual( + require.Equal( t, []*Route{ route1, @@ -40,32 +41,32 @@ func Test_Utils_UniqueRouteStack(t *testing.T) { route1, route2, route3, - }), - ) + })) + } func Test_Utils_getGroupPath(t *testing.T) { t.Parallel() res := getGroupPath("/v1", "/") - utils.AssertEqual(t, "/v1", res) + require.Equal(t, "/v1", res) res = getGroupPath("/v1/", "/") - utils.AssertEqual(t, "/v1/", res) + require.Equal(t, "/v1/", res) res = getGroupPath("/v1", "/") - utils.AssertEqual(t, "/v1", res) + require.Equal(t, "/v1", res) res = getGroupPath("/", "/") - utils.AssertEqual(t, "/", res) + require.Equal(t, "/", res) res = getGroupPath("/v1/api/", "/") - utils.AssertEqual(t, "/v1/api/", res) + require.Equal(t, "/v1/api/", res) res = getGroupPath("/v1/api", "group") - utils.AssertEqual(t, "/v1/api/group", res) + require.Equal(t, "/v1/api/group", res) res = getGroupPath("/v1/api", "") - utils.AssertEqual(t, "/v1/api", res) + require.Equal(t, "/v1/api", res) } // go test -v -run=^$ -bench=Benchmark_Utils_ -benchmem -count=3 @@ -78,7 +79,7 @@ func Benchmark_Utils_getGroupPath(b *testing.B) { _ = getGroupPath("/v1", "/api") res = getGroupPath("/v1", "/api/register/:project") } - utils.AssertEqual(b, "/v1/api/register/:project", res) + require.Equal(b, "/v1/api/register/:project", res) } func Benchmark_Utils_Unescape(b *testing.B) { @@ -92,7 +93,7 @@ func Benchmark_Utils_Unescape(b *testing.B) { unescaped = utils.UnsafeString(pathBytes) } - utils.AssertEqual(b, "/créer", unescaped) + require.Equal(b, "/créer", unescaped) } func Test_Utils_Parse_Address(t *testing.T) { @@ -106,22 +107,22 @@ func Test_Utils_Parse_Address(t *testing.T) { for _, c := range testCases { host, port := parseAddr(c.addr) - utils.AssertEqual(t, c.host, host, "addr host") - utils.AssertEqual(t, c.port, port, "addr port") + require.Equal(t, c.host, host, "addr host") + require.Equal(t, c.port, port, "addr port") } } func Test_Utils_GetOffset(t *testing.T) { - utils.AssertEqual(t, "", getOffer("hello")) - utils.AssertEqual(t, "1", getOffer("", "1")) - utils.AssertEqual(t, "", getOffer("2", "1")) + require.Equal(t, "", getOffer("hello")) + require.Equal(t, "1", getOffer("", "1")) + require.Equal(t, "", getOffer("2", "1")) } func Test_Utils_TestConn_Deadline(t *testing.T) { conn := &testConn{} - utils.AssertEqual(t, nil, conn.SetDeadline(time.Time{})) - utils.AssertEqual(t, nil, conn.SetReadDeadline(time.Time{})) - utils.AssertEqual(t, nil, conn.SetWriteDeadline(time.Time{})) + require.Nil(t, conn.SetDeadline(time.Time{})) + require.Nil(t, conn.SetReadDeadline(time.Time{})) + require.Nil(t, conn.SetWriteDeadline(time.Time{})) } func Test_Utils_IsNoCache(t *testing.T) { @@ -141,8 +142,9 @@ func Test_Utils_IsNoCache(t *testing.T) { for _, c := range testCases { ok := isNoCache(c.string) - utils.AssertEqual(t, c.bool, ok, + require.Equal(t, c.bool, ok, fmt.Sprintf("want %t, got isNoCache(%s)=%t", c.bool, c.string, ok)) + } } @@ -157,48 +159,48 @@ func Benchmark_Utils_IsNoCache(b *testing.B) { _ = isNoCache("no-cache, public") ok = isNoCache("max-age=30, no-cache,public") } - utils.AssertEqual(b, true, ok) + require.True(b, ok) } func Test_Utils_lnMetadata(t *testing.T) { t.Run("closed listen", func(t *testing.T) { ln, err := net.Listen(NetworkTCP, ":0") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) - utils.AssertEqual(t, nil, ln.Close()) + require.Nil(t, ln.Close()) addr, config := lnMetadata(NetworkTCP, ln) - utils.AssertEqual(t, ln.Addr().String(), addr) - utils.AssertEqual(t, true, config == nil) + require.Equal(t, ln.Addr().String(), addr) + require.True(t, config == nil) }) t.Run("non tls", func(t *testing.T) { ln, err := net.Listen(NetworkTCP, ":0") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) addr, config := lnMetadata(NetworkTCP4, ln) - utils.AssertEqual(t, ln.Addr().String(), addr) - utils.AssertEqual(t, true, config == nil) + require.Equal(t, ln.Addr().String(), addr) + require.True(t, config == nil) }) t.Run("tls", func(t *testing.T) { cer, err := tls.LoadX509KeyPair("./.github/testdata/ssl.pem", "./.github/testdata/ssl.key") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) config := &tls.Config{Certificates: []tls.Certificate{cer}} ln, err := net.Listen(NetworkTCP4, ":0") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) ln = tls.NewListener(ln, config) addr, config := lnMetadata(NetworkTCP4, ln) - utils.AssertEqual(t, ln.Addr().String(), addr) - utils.AssertEqual(t, true, config != nil) + require.Equal(t, ln.Addr().String(), addr) + require.True(t, config != nil) }) } @@ -213,7 +215,7 @@ func Benchmark_SlashRecognition(b *testing.B) { result = true } } - utils.AssertEqual(b, true, result) + require.True(b, result) }) b.Run("forEach", func(b *testing.B) { result = false @@ -226,7 +228,7 @@ func Benchmark_SlashRecognition(b *testing.B) { } } } - utils.AssertEqual(b, true, result) + require.True(b, result) }) b.Run("IndexRune", func(b *testing.B) { result = false @@ -234,7 +236,7 @@ func Benchmark_SlashRecognition(b *testing.B) { for i := 0; i < b.N; i++ { result = IndexRune(search, c) } - utils.AssertEqual(b, true, result) + require.True(b, result) }) } diff --git a/hooks_test.go b/hooks_test.go index b657b037..52ff08a6 100644 --- a/hooks_test.go +++ b/hooks_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/bytebufferpool" ) @@ -20,7 +20,7 @@ func Test_Hook_OnRoute(t *testing.T) { app := New() app.Hooks().OnRoute(func(r Route) error { - utils.AssertEqual(t, "", r.Name) + require.Equal(t, "", r.Name) return nil }) @@ -55,7 +55,7 @@ func Test_Hook_OnName(t *testing.T) { app.Mount("/sub", subApp) - utils.AssertEqual(t, "index", buf.String()) + require.Equal(t, "index", buf.String()) } func Test_Hook_OnName_Error(t *testing.T) { @@ -64,7 +64,7 @@ func Test_Hook_OnName_Error(t *testing.T) { app := New() defer func() { if err := recover(); err != nil { - utils.AssertEqual(t, "unknown error", fmt.Sprintf("%v", err)) + require.Equal(t, "unknown error", fmt.Sprintf("%v", err)) } }() @@ -92,7 +92,7 @@ func Test_Hook_OnGroup(t *testing.T) { grp := app.Group("/x").Name("x.") grp.Group("/a") - utils.AssertEqual(t, "/x/x/a", buf.String()) + require.Equal(t, "/x/x/a", buf.String()) } func Test_Hook_OnGroupName(t *testing.T) { @@ -113,7 +113,7 @@ func Test_Hook_OnGroupName(t *testing.T) { grp.Get("/test", testSimpleHandler) grp.Get("/test2", testSimpleHandler) - utils.AssertEqual(t, "x.", buf.String()) + require.Equal(t, "x.", buf.String()) } func Test_Hook_OnGroupName_Error(t *testing.T) { @@ -122,7 +122,7 @@ func Test_Hook_OnGroupName_Error(t *testing.T) { app := New() defer func() { if err := recover(); err != nil { - utils.AssertEqual(t, "unknown error", fmt.Sprintf("%v", err)) + require.Equal(t, "unknown error", fmt.Sprintf("%v", err)) } }() @@ -148,8 +148,8 @@ func Test_Hook_OnShutdown(t *testing.T) { return nil }) - utils.AssertEqual(t, nil, app.Shutdown()) - utils.AssertEqual(t, "shutdowning", buf.String()) + require.Nil(t, app.Shutdown()) + require.Equal(t, "shutdowning", buf.String()) } func Test_Hook_OnListen(t *testing.T) { @@ -170,11 +170,11 @@ func Test_Hook_OnListen(t *testing.T) { go func() { time.Sleep(1000 * time.Millisecond) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.Listen(":9000")) + require.Nil(t, app.Listen(":9000")) - utils.AssertEqual(t, "ready", buf.String()) + require.Equal(t, "ready", buf.String()) } func Test_Hook_OnHook(t *testing.T) { @@ -186,13 +186,13 @@ func Test_Hook_OnHook(t *testing.T) { go func() { time.Sleep(1000 * time.Millisecond) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() app.Hooks().OnFork(func(pid int) error { - utils.AssertEqual(t, 1, pid) + require.Equal(t, 1, pid) return nil }) - utils.AssertEqual(t, nil, app.prefork(NetworkTCP4, ":3000", nil)) + require.Nil(t, app.prefork(NetworkTCP4, ":3000", nil)) } diff --git a/internal/schema/doc.go b/internal/schema/doc.go index aae9f33f..fff0fe76 100644 --- a/internal/schema/doc.go +++ b/internal/schema/doc.go @@ -60,14 +60,14 @@ certain fields, use a dash for the name and it will be ignored: The supported field types in the destination struct are: - * bool - * float variants (float32, float64) - * int variants (int, int8, int16, int32, int64) - * string - * uint variants (uint, uint8, uint16, uint32, uint64) - * struct - * a pointer to one of the above types - * a slice or a pointer to a slice of one of the above types + - bool + - float variants (float32, float64) + - int variants (int, int8, int16, int32, int64) + - string + - uint variants (uint, uint8, uint16, uint32, uint64) + - struct + - a pointer to one of the above types + - a slice or a pointer to a slice of one of the above types Non-supported types are simply ignored, however custom types can be registered to be converted. diff --git a/listen_test.go b/listen_test.go index 6c9e6ba7..2f6f6718 100644 --- a/listen_test.go +++ b/listen_test.go @@ -16,7 +16,7 @@ import ( "testing" "time" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp/fasthttputil" ) @@ -24,14 +24,14 @@ import ( func Test_App_Listen(t *testing.T) { app := New(Config{DisableStartupMessage: true}) - utils.AssertEqual(t, false, app.Listen(":99999") == nil) + require.False(t, app.Listen(":99999") == nil) go func() { time.Sleep(1000 * time.Millisecond) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.Listen(":4003")) + require.Nil(t, app.Listen(":4003")) } // go test -run Test_App_Listen_Prefork @@ -40,7 +40,7 @@ func Test_App_Listen_Prefork(t *testing.T) { app := New(Config{DisableStartupMessage: true, Prefork: true}) - utils.AssertEqual(t, nil, app.Listen(":99999")) + require.Nil(t, app.Listen(":99999")) } // go test -run Test_App_ListenTLS @@ -48,16 +48,16 @@ func Test_App_ListenTLS(t *testing.T) { app := New() // invalid port - utils.AssertEqual(t, false, app.ListenTLS(":99999", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key") == nil) + require.False(t, app.ListenTLS(":99999", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key") == nil) // missing perm/cert file - utils.AssertEqual(t, false, app.ListenTLS(":0", "", "./.github/testdata/ssl.key") == nil) + require.False(t, app.ListenTLS(":0", "", "./.github/testdata/ssl.key") == nil) go func() { time.Sleep(1000 * time.Millisecond) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.ListenTLS(":0", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key")) + require.Nil(t, app.ListenTLS(":0", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key")) } // go test -run Test_App_ListenTLS_Prefork @@ -67,9 +67,9 @@ func Test_App_ListenTLS_Prefork(t *testing.T) { app := New(Config{DisableStartupMessage: true, Prefork: true}) // invalid key file content - utils.AssertEqual(t, false, app.ListenTLS(":0", "./.github/testdata/ssl.pem", "./.github/testdata/template.tmpl") == nil) + require.False(t, app.ListenTLS(":0", "./.github/testdata/ssl.pem", "./.github/testdata/template.tmpl") == nil) - utils.AssertEqual(t, nil, app.ListenTLS(":99999", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key")) + require.Nil(t, app.ListenTLS(":99999", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key")) } // go test -run Test_App_ListenMutualTLS @@ -77,16 +77,16 @@ func Test_App_ListenMutualTLS(t *testing.T) { app := New() // invalid port - utils.AssertEqual(t, false, app.ListenMutualTLS(":99999", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key", "./.github/testdata/ca-chain.cert.pem") == nil) + require.False(t, app.ListenMutualTLS(":99999", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key", "./.github/testdata/ca-chain.cert.pem") == nil) // missing perm/cert file - utils.AssertEqual(t, false, app.ListenMutualTLS(":0", "", "./.github/testdata/ssl.key", "") == nil) + require.False(t, app.ListenMutualTLS(":0", "", "./.github/testdata/ssl.key", "") == nil) go func() { time.Sleep(1000 * time.Millisecond) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.ListenMutualTLS(":0", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key", "./.github/testdata/ca-chain.cert.pem")) + require.Nil(t, app.ListenMutualTLS(":0", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key", "./.github/testdata/ca-chain.cert.pem")) } // go test -run Test_App_ListenMutualTLS_Prefork @@ -96,9 +96,9 @@ func Test_App_ListenMutualTLS_Prefork(t *testing.T) { app := New(Config{DisableStartupMessage: true, Prefork: true}) // invalid key file content - utils.AssertEqual(t, false, app.ListenMutualTLS(":0", "./.github/testdata/ssl.pem", "./.github/testdata/template.html", "") == nil) + require.False(t, app.ListenMutualTLS(":0", "./.github/testdata/ssl.pem", "./.github/testdata/template.html", "") == nil) - utils.AssertEqual(t, nil, app.ListenMutualTLS(":99999", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key", "./.github/testdata/ca-chain.cert.pem")) + require.Nil(t, app.ListenMutualTLS(":99999", "./.github/testdata/ssl.pem", "./.github/testdata/ssl.key", "./.github/testdata/ca-chain.cert.pem")) } // go test -run Test_App_Listener @@ -107,11 +107,11 @@ func Test_App_Listener(t *testing.T) { go func() { time.Sleep(500 * time.Millisecond) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() ln := fasthttputil.NewInmemoryListener() - utils.AssertEqual(t, nil, app.Listener(ln)) + require.Nil(t, app.Listener(ln)) } // go test -run Test_App_Listener_Prefork @@ -121,28 +121,28 @@ func Test_App_Listener_Prefork(t *testing.T) { app := New(Config{DisableStartupMessage: true, Prefork: true}) ln := fasthttputil.NewInmemoryListener() - utils.AssertEqual(t, nil, app.Listener(ln)) + require.Nil(t, app.Listener(ln)) } func Test_App_Listener_TLS_Listener(t *testing.T) { // Create tls certificate cer, err := tls.LoadX509KeyPair("./.github/testdata/ssl.pem", "./.github/testdata/ssl.key") if err != nil { - utils.AssertEqual(t, nil, err) + require.NoError(t, err) } config := &tls.Config{Certificates: []tls.Certificate{cer}} ln, err := tls.Listen(NetworkTCP4, ":0", config) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) app := New() go func() { time.Sleep(time.Millisecond * 500) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.Listener(ln)) + require.Nil(t, app.Listener(ln)) } func captureOutput(f func()) string { @@ -181,11 +181,11 @@ func Test_App_Master_Process_Show_Startup_Message(t *testing.T) { startupMessage(":3000", true, strings.Repeat(",11111,22222,33333,44444,55555,60000", 10)) }) fmt.Println(startupMessage) - utils.AssertEqual(t, true, strings.Contains(startupMessage, "https://127.0.0.1:3000")) - utils.AssertEqual(t, true, strings.Contains(startupMessage, "(bound on host 0.0.0.0 and port 3000)")) - utils.AssertEqual(t, true, strings.Contains(startupMessage, "Child PIDs")) - utils.AssertEqual(t, true, strings.Contains(startupMessage, "11111, 22222, 33333, 44444, 55555, 60000")) - utils.AssertEqual(t, true, strings.Contains(startupMessage, "Prefork ........ Enabled")) + require.True(t, strings.Contains(startupMessage, "https://127.0.0.1:3000")) + require.True(t, strings.Contains(startupMessage, "(bound on host 0.0.0.0 and port 3000)")) + require.True(t, strings.Contains(startupMessage, "Child PIDs")) + require.True(t, strings.Contains(startupMessage, "11111, 22222, 33333, 44444, 55555, 60000")) + require.True(t, strings.Contains(startupMessage, "Prefork ........ Enabled")) } func Test_App_Master_Process_Show_Startup_MessageWithAppName(t *testing.T) { @@ -194,8 +194,8 @@ func Test_App_Master_Process_Show_Startup_MessageWithAppName(t *testing.T) { app.startupMessage(":3000", true, strings.Repeat(",11111,22222,33333,44444,55555,60000", 10)) }) fmt.Println(startupMessage) - utils.AssertEqual(t, "Test App v1.0.1", app.Config().AppName) - utils.AssertEqual(t, true, strings.Contains(startupMessage, app.Config().AppName)) + require.Equal(t, "Test App v1.0.1", app.Config().AppName) + require.True(t, strings.Contains(startupMessage, app.Config().AppName)) } func Test_App_Master_Process_Show_Startup_MessageWithAppNameNonAscii(t *testing.T) { @@ -205,7 +205,7 @@ func Test_App_Master_Process_Show_Startup_MessageWithAppNameNonAscii(t *testing. app.startupMessage(":3000", false, "") }) fmt.Println(startupMessage) - utils.AssertEqual(t, true, strings.Contains(startupMessage, "│ Serveur de vérification des données │")) + require.True(t, strings.Contains(startupMessage, "│ Serveur de vérification des données │")) } func Test_App_print_Route(t *testing.T) { @@ -215,10 +215,10 @@ func Test_App_print_Route(t *testing.T) { app.printRoutesMessage() }) fmt.Println(printRoutesMessage) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "GET")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "/")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "emptyHandler")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "routeName")) + require.True(t, strings.Contains(printRoutesMessage, "GET")) + require.True(t, strings.Contains(printRoutesMessage, "/")) + require.True(t, strings.Contains(printRoutesMessage, "emptyHandler")) + require.True(t, strings.Contains(printRoutesMessage, "routeName")) } func Test_App_print_Route_with_group(t *testing.T) { @@ -234,14 +234,14 @@ func Test_App_print_Route_with_group(t *testing.T) { app.printRoutesMessage() }) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "GET")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "/")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "emptyHandler")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "/v1/test")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "POST")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "/v1/test/fiber")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "PUT")) - utils.AssertEqual(t, true, strings.Contains(printRoutesMessage, "/v1/test/fiber/*")) + require.True(t, strings.Contains(printRoutesMessage, "GET")) + require.True(t, strings.Contains(printRoutesMessage, "/")) + require.True(t, strings.Contains(printRoutesMessage, "emptyHandler")) + require.True(t, strings.Contains(printRoutesMessage, "/v1/test")) + require.True(t, strings.Contains(printRoutesMessage, "POST")) + require.True(t, strings.Contains(printRoutesMessage, "/v1/test/fiber")) + require.True(t, strings.Contains(printRoutesMessage, "PUT")) + require.True(t, strings.Contains(printRoutesMessage, "/v1/test/fiber/*")) } func emptyHandler(c Ctx) error { diff --git a/middleware/basicauth/basicauth_test.go b/middleware/basicauth/basicauth_test.go index 7e89d0e8..7656c9eb 100644 --- a/middleware/basicauth/basicauth_test.go +++ b/middleware/basicauth/basicauth_test.go @@ -9,7 +9,7 @@ import ( b64 "encoding/base64" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -25,8 +25,8 @@ func Test_BasicAuth_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } func Test_Middleware_BasicAuth(t *testing.T) { @@ -80,15 +80,15 @@ func Test_Middleware_BasicAuth(t *testing.T) { req := httptest.NewRequest("GET", "/testauth", nil) req.Header.Add("Authorization", "Basic "+creds) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, tt.statusCode, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, tt.statusCode, resp.StatusCode) if tt.statusCode == 200 { - utils.AssertEqual(t, fmt.Sprintf("%s%s", tt.username, tt.password), string(body)) + require.Equal(t, fmt.Sprintf("%s%s", tt.username, tt.password), string(body)) } } } @@ -120,5 +120,5 @@ func Benchmark_Middleware_BasicAuth(b *testing.B) { h(fctx) } - utils.AssertEqual(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) + require.Equal(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) } diff --git a/middleware/cache/cache_test.go b/middleware/cache/cache_test.go index 0ab9df5a..2aa9eb36 100644 --- a/middleware/cache/cache_test.go +++ b/middleware/cache/cache_test.go @@ -17,6 +17,7 @@ import ( "github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3/internal/storage/memory" "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -35,11 +36,11 @@ func Test_Cache_CacheControl(t *testing.T) { }) _, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "public, max-age=10", resp.Header.Get(fiber.HeaderCacheControl)) + require.NoError(t, err) + require.Equal(t, "public, max-age=10", resp.Header.Get(fiber.HeaderCacheControl)) } func Test_Cache_Expired(t *testing.T) { @@ -53,17 +54,17 @@ func Test_Cache_Expired(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) // Sleep until the cache is expired time.Sleep(3 * time.Second) respCached, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) bodyCached, err := io.ReadAll(respCached.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) if bytes.Equal(body, bodyCached) { t.Errorf("Cache should have expired: %s, %s", body, bodyCached) @@ -71,9 +72,9 @@ func Test_Cache_Expired(t *testing.T) { // Next response should be also cached respCachedNextRound, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) bodyCachedNextRound, err := io.ReadAll(respCachedNextRound.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) if !bytes.Equal(bodyCachedNextRound, bodyCached) { t.Errorf("Cache should not have expired: %s, %s", bodyCached, bodyCachedNextRound) @@ -93,18 +94,18 @@ func Test_Cache(t *testing.T) { req := httptest.NewRequest("GET", "/", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) cachedReq := httptest.NewRequest("GET", "/", nil) cachedResp, err := app.Test(cachedReq) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) cachedBody, err := io.ReadAll(cachedResp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) - utils.AssertEqual(t, cachedBody, body) + require.Equal(t, cachedBody, body) } func Test_Cache_WithSeveralRequests(t *testing.T) { @@ -125,18 +126,18 @@ func Test_Cache_WithSeveralRequests(t *testing.T) { for i := 0; i < 10; i++ { func(id int) { rsp, err := app.Test(httptest.NewRequest(http.MethodGet, fmt.Sprintf("/%d", id), nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) defer rsp.Body.Close() idFromServ, err := io.ReadAll(rsp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) a, err := strconv.Atoi(string(idFromServ)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) // SomeTimes,The id is not equal with a - utils.AssertEqual(t, id, a) + require.Equal(t, id, a) }(i) } } @@ -156,18 +157,18 @@ func Test_Cache_Invalid_Expiration(t *testing.T) { req := httptest.NewRequest("GET", "/", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) cachedReq := httptest.NewRequest("GET", "/", nil) cachedResp, err := app.Test(cachedReq) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) cachedBody, err := io.ReadAll(cachedResp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) - utils.AssertEqual(t, cachedBody, body) + require.Equal(t, cachedBody, body) } func Test_Cache_Invalid_Method(t *testing.T) { @@ -186,28 +187,28 @@ func Test_Cache_Invalid_Method(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("POST", "/?cache=123", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "123", string(body)) + require.NoError(t, err) + require.Equal(t, "123", string(body)) resp, err = app.Test(httptest.NewRequest("POST", "/?cache=12345", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "12345", string(body)) + require.NoError(t, err) + require.Equal(t, "12345", string(body)) resp, err = app.Test(httptest.NewRequest("GET", "/get?cache=123", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "123", string(body)) + require.NoError(t, err) + require.Equal(t, "123", string(body)) resp, err = app.Test(httptest.NewRequest("GET", "/get?cache=12345", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "123", string(body)) + require.NoError(t, err) + require.Equal(t, "123", string(body)) } func Test_Cache_NothingToCache(t *testing.T) { @@ -222,16 +223,16 @@ func Test_Cache_NothingToCache(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) time.Sleep(500 * time.Millisecond) respCached, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) bodyCached, err := io.ReadAll(respCached.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) if bytes.Equal(body, bodyCached) { t.Errorf("Cache should have expired: %s, %s", body, bodyCached) @@ -259,23 +260,23 @@ func Test_Cache_CustomNext(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) respCached, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) bodyCached, err := io.ReadAll(respCached.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, bytes.Equal(body, bodyCached)) - utils.AssertEqual(t, true, respCached.Header.Get(fiber.HeaderCacheControl) != "") + require.NoError(t, err) + require.True(t, bytes.Equal(body, bodyCached)) + require.True(t, respCached.Header.Get(fiber.HeaderCacheControl) != "") _, err = app.Test(httptest.NewRequest("GET", "/error", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) errRespCached, err := app.Test(httptest.NewRequest("GET", "/error", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, errRespCached.Header.Get(fiber.HeaderCacheControl) == "") + require.NoError(t, err) + require.True(t, errRespCached.Header.Get(fiber.HeaderCacheControl) == "") } func Test_CustomKey(t *testing.T) { @@ -294,8 +295,8 @@ func Test_CustomKey(t *testing.T) { req := httptest.NewRequest("GET", "/", nil) _, err := app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, called) + require.NoError(t, err) + require.True(t, called) } func Test_CustomExpiration(t *testing.T) { @@ -317,20 +318,20 @@ func Test_CustomExpiration(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, called) - utils.AssertEqual(t, 1, newCacheTime) + require.NoError(t, err) + require.True(t, called) + require.Equal(t, 1, newCacheTime) // Sleep until the cache is expired time.Sleep(1 * time.Second) cachedResp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) cachedBody, err := io.ReadAll(cachedResp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) if bytes.Equal(body, cachedBody) { t.Errorf("Cache should have expired: %s, %s", body, cachedBody) @@ -338,9 +339,9 @@ func Test_CustomExpiration(t *testing.T) { // Next response should be cached cachedRespNextRound, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) cachedBodyNextRound, err := io.ReadAll(cachedRespNextRound.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) if !bytes.Equal(cachedBodyNextRound, cachedBody) { t.Errorf("Cache should not have expired: %s, %s", cachedBodyNextRound, cachedBody) @@ -362,13 +363,13 @@ func Test_AdditionalE2EResponseHeaders(t *testing.T) { req := httptest.NewRequest("GET", "/", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "foobar", resp.Header.Get("X-Foobar")) + require.NoError(t, err) + require.Equal(t, "foobar", resp.Header.Get("X-Foobar")) req = httptest.NewRequest("GET", "/", nil) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "foobar", resp.Header.Get("X-Foobar")) + require.NoError(t, err) + require.Equal(t, "foobar", resp.Header.Get("X-Foobar")) } func Test_CacheHeader(t *testing.T) { @@ -396,20 +397,20 @@ func Test_CacheHeader(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, cacheMiss, resp.Header.Get("X-Cache")) + require.NoError(t, err) + require.Equal(t, cacheMiss, resp.Header.Get("X-Cache")) resp, err = app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, cacheHit, resp.Header.Get("X-Cache")) + require.NoError(t, err) + require.Equal(t, cacheHit, resp.Header.Get("X-Cache")) resp, err = app.Test(httptest.NewRequest("POST", "/?cache=12345", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, cacheUnreachable, resp.Header.Get("X-Cache")) + require.NoError(t, err) + require.Equal(t, cacheUnreachable, resp.Header.Get("X-Cache")) errRespCached, err := app.Test(httptest.NewRequest("GET", "/error", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, cacheUnreachable, errRespCached.Header.Get("X-Cache")) + require.NoError(t, err) + require.Equal(t, cacheUnreachable, errRespCached.Header.Get("X-Cache")) } func Test_Cache_WithHead(t *testing.T) { @@ -425,18 +426,18 @@ func Test_Cache_WithHead(t *testing.T) { req := httptest.NewRequest("HEAD", "/", nil) resp, err := app.Test(req) - utils.AssertEqual(t, cacheMiss, resp.Header.Get("X-Cache")) + require.Equal(t, cacheMiss, resp.Header.Get("X-Cache")) cachedReq := httptest.NewRequest("HEAD", "/", nil) cachedResp, err := app.Test(cachedReq) - utils.AssertEqual(t, cacheHit, cachedResp.Header.Get("X-Cache")) + require.Equal(t, cacheHit, cachedResp.Header.Get("X-Cache")) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) cachedBody, err := io.ReadAll(cachedResp.Body) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) - utils.AssertEqual(t, cachedBody, body) + require.Equal(t, cachedBody, body) } func Test_Cache_WithHeadThenGet(t *testing.T) { @@ -449,32 +450,32 @@ func Test_Cache_WithHeadThenGet(t *testing.T) { }) headResp, err := app.Test(httptest.NewRequest("HEAD", "/?cache=123", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) headBody, err := io.ReadAll(headResp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "", string(headBody)) - utils.AssertEqual(t, cacheMiss, headResp.Header.Get("X-Cache")) + require.NoError(t, err) + require.Equal(t, "", string(headBody)) + require.Equal(t, cacheMiss, headResp.Header.Get("X-Cache")) headResp, err = app.Test(httptest.NewRequest("HEAD", "/?cache=123", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) headBody, err = io.ReadAll(headResp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "", string(headBody)) - utils.AssertEqual(t, cacheHit, headResp.Header.Get("X-Cache")) + require.NoError(t, err) + require.Equal(t, "", string(headBody)) + require.Equal(t, cacheHit, headResp.Header.Get("X-Cache")) getResp, err := app.Test(httptest.NewRequest("GET", "/?cache=123", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) getBody, err := io.ReadAll(getResp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "123", string(getBody)) - utils.AssertEqual(t, cacheMiss, getResp.Header.Get("X-Cache")) + require.NoError(t, err) + require.Equal(t, "123", string(getBody)) + require.Equal(t, cacheMiss, getResp.Header.Get("X-Cache")) getResp, err = app.Test(httptest.NewRequest("GET", "/?cache=123", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) getBody, err = io.ReadAll(getResp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "123", string(getBody)) - utils.AssertEqual(t, cacheHit, getResp.Header.Get("X-Cache")) + require.NoError(t, err) + require.Equal(t, "123", string(getBody)) + require.Equal(t, cacheHit, getResp.Header.Get("X-Cache")) } func Test_CustomCacheHeader(t *testing.T) { @@ -491,8 +492,8 @@ func Test_CustomCacheHeader(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, cacheMiss, resp.Header.Get("Cache-Status")) + require.NoError(t, err) + require.Equal(t, cacheMiss, resp.Header.Get("Cache-Status")) } // Because time points are updated once every X milliseconds, entries in tests can often have @@ -538,8 +539,8 @@ func Test_Cache_MaxBytesOrder(t *testing.T) { for idx, tcase := range cases { rsp, err := app.Test(httptest.NewRequest("GET", tcase[0], nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, tcase[1], rsp.Header.Get("X-Cache"), fmt.Sprintf("Case %v", idx)) + require.NoError(t, err) + require.Equal(t, tcase[1], rsp.Header.Get("X-Cache"), fmt.Sprintf("Case %v", idx)) } } @@ -572,8 +573,8 @@ func Test_Cache_MaxBytesSizes(t *testing.T) { for idx, tcase := range cases { rsp, err := app.Test(httptest.NewRequest("GET", tcase[0], nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, tcase[1], rsp.Header.Get("X-Cache"), fmt.Sprintf("Case %v", idx)) + require.NoError(t, err) + require.Equal(t, tcase[1], rsp.Header.Get("X-Cache"), fmt.Sprintf("Case %v", idx)) } } @@ -601,8 +602,8 @@ func Benchmark_Cache(b *testing.B) { h(fctx) } - utils.AssertEqual(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) - utils.AssertEqual(b, true, len(fctx.Response.Body()) > 30000) + require.Equal(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) + require.True(b, len(fctx.Response.Body()) > 30000) } // go test -v -run=^$ -bench=Benchmark_Cache_Storage -benchmem -count=4 @@ -631,8 +632,8 @@ func Benchmark_Cache_Storage(b *testing.B) { h(fctx) } - utils.AssertEqual(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) - utils.AssertEqual(b, true, len(fctx.Response.Body()) > 30000) + require.Equal(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) + require.True(b, len(fctx.Response.Body()) > 30000) } func Benchmark_Cache_AdditionalHeaders(b *testing.B) { @@ -659,8 +660,8 @@ func Benchmark_Cache_AdditionalHeaders(b *testing.B) { h(fctx) } - utils.AssertEqual(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) - utils.AssertEqual(b, []byte("foobar"), fctx.Response.Header.Peek("X-Foobar")) + require.Equal(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) + require.Equal(b, []byte("foobar"), fctx.Response.Header.Peek("X-Foobar")) } func Benchmark_Cache_MaxSize(b *testing.B) { @@ -691,7 +692,7 @@ func Benchmark_Cache_MaxSize(b *testing.B) { h(fctx) } - utils.AssertEqual(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) + require.Equal(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode()) }) } } diff --git a/middleware/compress/compress_test.go b/middleware/compress/compress_test.go index 697c4921..4609eafc 100644 --- a/middleware/compress/compress_test.go +++ b/middleware/compress/compress_test.go @@ -9,7 +9,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) var filedata []byte @@ -37,14 +37,14 @@ func Test_Compress_Gzip(t *testing.T) { req.Header.Set("Accept-Encoding", "gzip") resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, "gzip", resp.Header.Get(fiber.HeaderContentEncoding)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.Equal(t, "gzip", resp.Header.Get(fiber.HeaderContentEncoding)) // Validate that the file size has shrunk body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, len(body) < len(filedata)) + require.NoError(t, err) + require.True(t, len(body) < len(filedata)) } // go test -run Test_Compress_Different_Level @@ -65,14 +65,14 @@ func Test_Compress_Different_Level(t *testing.T) { req.Header.Set("Accept-Encoding", "gzip") resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, "gzip", resp.Header.Get(fiber.HeaderContentEncoding)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.Equal(t, "gzip", resp.Header.Get(fiber.HeaderContentEncoding)) // Validate that the file size has shrunk body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, len(body) < len(filedata)) + require.NoError(t, err) + require.True(t, len(body) < len(filedata)) }) } } @@ -90,14 +90,14 @@ func Test_Compress_Deflate(t *testing.T) { req.Header.Set("Accept-Encoding", "deflate") resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, "deflate", resp.Header.Get(fiber.HeaderContentEncoding)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.Equal(t, "deflate", resp.Header.Get(fiber.HeaderContentEncoding)) // Validate that the file size has shrunk body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, len(body) < len(filedata)) + require.NoError(t, err) + require.True(t, len(body) < len(filedata)) } func Test_Compress_Brotli(t *testing.T) { @@ -113,14 +113,14 @@ func Test_Compress_Brotli(t *testing.T) { req.Header.Set("Accept-Encoding", "br") resp, err := app.Test(req, 10000) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, "br", resp.Header.Get(fiber.HeaderContentEncoding)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.Equal(t, "br", resp.Header.Get(fiber.HeaderContentEncoding)) // Validate that the file size has shrunk body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, len(body) < len(filedata)) + require.NoError(t, err) + require.True(t, len(body) < len(filedata)) } func Test_Compress_Disabled(t *testing.T) { @@ -136,14 +136,14 @@ func Test_Compress_Disabled(t *testing.T) { req.Header.Set("Accept-Encoding", "br") resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") - utils.AssertEqual(t, "", resp.Header.Get(fiber.HeaderContentEncoding)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") + require.Equal(t, "", resp.Header.Get(fiber.HeaderContentEncoding)) // Validate the file size is not shrunk body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, len(body) == len(filedata)) + require.NoError(t, err) + require.True(t, len(body) == len(filedata)) } func Test_Compress_Next_Error(t *testing.T) { @@ -159,13 +159,13 @@ func Test_Compress_Next_Error(t *testing.T) { req.Header.Set("Accept-Encoding", "gzip") resp, err := app.Test(req) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 500, resp.StatusCode, "Status code") - utils.AssertEqual(t, "", resp.Header.Get(fiber.HeaderContentEncoding)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 500, resp.StatusCode, "Status code") + require.Equal(t, "", resp.Header.Get(fiber.HeaderContentEncoding)) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "next error", string(body)) + require.NoError(t, err) + require.Equal(t, "next error", string(body)) } // go test -run Test_Compress_Next @@ -178,6 +178,6 @@ func Test_Compress_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } diff --git a/middleware/cors/cors_test.go b/middleware/cors/cors_test.go index 64b01900..84e7bd9b 100644 --- a/middleware/cors/cors_test.go +++ b/middleware/cors/cors_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -33,18 +33,18 @@ func testDefaultOrEmptyConfig(t *testing.T, app *fiber.App) { ctx.Request.Header.SetMethod(fiber.MethodGet) h(ctx) - utils.AssertEqual(t, "*", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) - utils.AssertEqual(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowCredentials))) - utils.AssertEqual(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlExposeHeaders))) + require.Equal(t, "*", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) + require.Equal(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowCredentials))) + require.Equal(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlExposeHeaders))) // Test default OPTIONS (preflight) response headers ctx = &fasthttp.RequestCtx{} ctx.Request.Header.SetMethod(fiber.MethodOptions) h(ctx) - utils.AssertEqual(t, "GET,POST,HEAD,PUT,DELETE,PATCH", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowMethods))) - utils.AssertEqual(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowHeaders))) - utils.AssertEqual(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlMaxAge))) + require.Equal(t, "GET,POST,HEAD,PUT,DELETE,PATCH", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowMethods))) + require.Equal(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowHeaders))) + require.Equal(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlMaxAge))) } // go test -run -v Test_CORS_Wildcard @@ -72,18 +72,18 @@ func Test_CORS_Wildcard(t *testing.T) { handler(ctx) // Check result - utils.AssertEqual(t, "localhost", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) - utils.AssertEqual(t, "true", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowCredentials))) - utils.AssertEqual(t, "3600", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlMaxAge))) - utils.AssertEqual(t, "Authentication", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowHeaders))) + require.Equal(t, "localhost", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) + require.Equal(t, "true", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowCredentials))) + require.Equal(t, "3600", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlMaxAge))) + require.Equal(t, "Authentication", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowHeaders))) // Test non OPTIONS (preflight) response headers ctx = &fasthttp.RequestCtx{} ctx.Request.Header.SetMethod(fiber.MethodGet) handler(ctx) - utils.AssertEqual(t, "true", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowCredentials))) - utils.AssertEqual(t, "X-Request-ID", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlExposeHeaders))) + require.Equal(t, "true", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowCredentials))) + require.Equal(t, "X-Request-ID", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlExposeHeaders))) } // go test -run -v Test_CORS_Subdomain @@ -106,7 +106,7 @@ func Test_CORS_Subdomain(t *testing.T) { handler(ctx) // Allow-Origin header should be "" because http://google.com does not satisfy http://*.example.com - utils.AssertEqual(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) + require.Equal(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) ctx.Request.Reset() ctx.Response.Reset() @@ -118,7 +118,7 @@ func Test_CORS_Subdomain(t *testing.T) { handler(ctx) - utils.AssertEqual(t, "http://test.example.com", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) + require.Equal(t, "http://test.example.com", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) } func Test_CORS_AllowOriginScheme(t *testing.T) { @@ -215,9 +215,9 @@ func Test_CORS_AllowOriginScheme(t *testing.T) { handler(ctx) if tt.shouldAllowOrigin { - utils.AssertEqual(t, tt.reqOrigin, string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) + require.Equal(t, tt.reqOrigin, string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) } else { - utils.AssertEqual(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) + require.Equal(t, "", string(ctx.Response.Header.Peek(fiber.HeaderAccessControlAllowOrigin))) } } } @@ -232,6 +232,6 @@ func Test_CORS_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } diff --git a/middleware/csrf/csrf_test.go b/middleware/csrf/csrf_test.go index e95fa7aa..b83b7fe3 100644 --- a/middleware/csrf/csrf_test.go +++ b/middleware/csrf/csrf_test.go @@ -7,6 +7,7 @@ import ( "github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -34,7 +35,7 @@ func Test_CSRF(t *testing.T) { ctx.Response.Reset() ctx.Request.Header.SetMethod("POST") h(ctx) - utils.AssertEqual(t, 403, ctx.Response.StatusCode()) + require.Equal(t, 403, ctx.Response.StatusCode()) // Empty/invalid CSRF token ctx.Request.Reset() @@ -42,7 +43,7 @@ func Test_CSRF(t *testing.T) { ctx.Request.Header.SetMethod("POST") ctx.Request.Header.Set("X-CSRF-Token", "johndoe") h(ctx) - utils.AssertEqual(t, 403, ctx.Response.StatusCode()) + require.Equal(t, 403, ctx.Response.StatusCode()) // Valid CSRF token ctx.Request.Reset() @@ -57,7 +58,7 @@ func Test_CSRF(t *testing.T) { ctx.Request.Header.SetMethod("POST") ctx.Request.Header.Set("X-CSRF-Token", token) h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) + require.Equal(t, 200, ctx.Response.StatusCode()) } } @@ -71,13 +72,13 @@ func Test_CSRF_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } func Test_CSRF_Invalid_KeyLookup(t *testing.T) { defer func() { - utils.AssertEqual(t, "[CSRF] KeyLookup must in the form of :", recover()) + require.Equal(t, "[CSRF] KeyLookup must in the form of :", recover()) }() app := fiber.New() @@ -109,7 +110,7 @@ func Test_CSRF_From_Form(t *testing.T) { ctx.Request.Header.SetMethod("POST") ctx.Request.Header.Set(fiber.HeaderContentType, fiber.MIMEApplicationForm) h(ctx) - utils.AssertEqual(t, 403, ctx.Response.StatusCode()) + require.Equal(t, 403, ctx.Response.StatusCode()) // Generate CSRF token ctx.Request.Reset() @@ -123,7 +124,7 @@ func Test_CSRF_From_Form(t *testing.T) { ctx.Request.Header.Set(fiber.HeaderContentType, fiber.MIMEApplicationForm) ctx.Request.SetBodyString("_csrf=" + token) h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) + require.Equal(t, 200, ctx.Response.StatusCode()) } func Test_CSRF_From_Query(t *testing.T) { @@ -142,7 +143,7 @@ func Test_CSRF_From_Query(t *testing.T) { ctx.Request.Header.SetMethod("POST") ctx.Request.SetRequestURI("/?_csrf=" + utils.UUID()) h(ctx) - utils.AssertEqual(t, 403, ctx.Response.StatusCode()) + require.Equal(t, 403, ctx.Response.StatusCode()) // Generate CSRF token ctx.Request.Reset() @@ -158,8 +159,8 @@ func Test_CSRF_From_Query(t *testing.T) { ctx.Request.SetRequestURI("/?_csrf=" + token) ctx.Request.Header.SetMethod("POST") h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) - utils.AssertEqual(t, "OK", string(ctx.Response.Body())) + require.Equal(t, 200, ctx.Response.StatusCode()) + require.Equal(t, "OK", string(ctx.Response.Body())) } func Test_CSRF_From_Param(t *testing.T) { @@ -178,7 +179,7 @@ func Test_CSRF_From_Param(t *testing.T) { ctx.Request.Header.SetMethod("POST") ctx.Request.SetRequestURI("/" + utils.UUID()) h(ctx) - utils.AssertEqual(t, 403, ctx.Response.StatusCode()) + require.Equal(t, 403, ctx.Response.StatusCode()) // Generate CSRF token ctx.Request.Reset() @@ -194,8 +195,8 @@ func Test_CSRF_From_Param(t *testing.T) { ctx.Request.SetRequestURI("/" + token) ctx.Request.Header.SetMethod("POST") h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) - utils.AssertEqual(t, "OK", string(ctx.Response.Body())) + require.Equal(t, 200, ctx.Response.StatusCode()) + require.Equal(t, "OK", string(ctx.Response.Body())) } func Test_CSRF_From_Cookie(t *testing.T) { @@ -215,7 +216,7 @@ func Test_CSRF_From_Cookie(t *testing.T) { ctx.Request.SetRequestURI("/") ctx.Request.Header.Set(fiber.HeaderCookie, "csrf="+utils.UUID()+";") h(ctx) - utils.AssertEqual(t, 403, ctx.Response.StatusCode()) + require.Equal(t, 403, ctx.Response.StatusCode()) // Generate CSRF token ctx.Request.Reset() @@ -232,15 +233,15 @@ func Test_CSRF_From_Cookie(t *testing.T) { ctx.Request.Header.Set(fiber.HeaderCookie, "csrf="+token+";") ctx.Request.SetRequestURI("/") h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) - utils.AssertEqual(t, "OK", string(ctx.Response.Body())) + require.Equal(t, 200, ctx.Response.StatusCode()) + require.Equal(t, "OK", string(ctx.Response.Body())) } func Test_CSRF_ErrorHandler_InvalidToken(t *testing.T) { app := fiber.New() errHandler := func(ctx fiber.Ctx, err error) error { - utils.AssertEqual(t, errTokenNotFound, err) + require.Equal(t, errTokenNotFound, err) return ctx.Status(419).Send([]byte("invalid CSRF token")) } @@ -263,15 +264,15 @@ func Test_CSRF_ErrorHandler_InvalidToken(t *testing.T) { ctx.Request.Header.SetMethod("POST") ctx.Request.Header.Set("X-CSRF-Token", "johndoe") h(ctx) - utils.AssertEqual(t, 419, ctx.Response.StatusCode()) - utils.AssertEqual(t, "invalid CSRF token", string(ctx.Response.Body())) + require.Equal(t, 419, ctx.Response.StatusCode()) + require.Equal(t, "invalid CSRF token", string(ctx.Response.Body())) } func Test_CSRF_ErrorHandler_EmptyToken(t *testing.T) { app := fiber.New() errHandler := func(ctx fiber.Ctx, err error) error { - utils.AssertEqual(t, errMissingHeader, err) + require.Equal(t, errMissingHeader, err) return ctx.Status(419).Send([]byte("empty CSRF token")) } @@ -293,6 +294,6 @@ func Test_CSRF_ErrorHandler_EmptyToken(t *testing.T) { ctx.Response.Reset() ctx.Request.Header.SetMethod("POST") h(ctx) - utils.AssertEqual(t, 419, ctx.Response.StatusCode()) - utils.AssertEqual(t, "empty CSRF token", string(ctx.Response.Body())) + require.Equal(t, 419, ctx.Response.StatusCode()) + require.Equal(t, "empty CSRF token", string(ctx.Response.Body())) } diff --git a/middleware/encryptcookie/encryptcookie_test.go b/middleware/encryptcookie/encryptcookie_test.go index 2695781f..c4d400e9 100644 --- a/middleware/encryptcookie/encryptcookie_test.go +++ b/middleware/encryptcookie/encryptcookie_test.go @@ -6,7 +6,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -36,39 +36,39 @@ func Test_Middleware_Encrypt_Cookie(t *testing.T) { ctx := &fasthttp.RequestCtx{} ctx.Request.Header.SetMethod("GET") h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) - utils.AssertEqual(t, "value=", string(ctx.Response.Body())) + require.Equal(t, 200, ctx.Response.StatusCode()) + require.Equal(t, "value=", string(ctx.Response.Body())) // Test invalid cookie ctx = &fasthttp.RequestCtx{} ctx.Request.Header.SetMethod("GET") ctx.Request.Header.SetCookie("test", "Invalid") h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) - utils.AssertEqual(t, "value=", string(ctx.Response.Body())) + require.Equal(t, 200, ctx.Response.StatusCode()) + require.Equal(t, "value=", string(ctx.Response.Body())) ctx.Request.Header.SetCookie("test", "ixQURE2XOyZUs0WAOh2ehjWcP7oZb07JvnhWOsmeNUhPsj4+RyI=") h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) - utils.AssertEqual(t, "value=", string(ctx.Response.Body())) + require.Equal(t, 200, ctx.Response.StatusCode()) + require.Equal(t, "value=", string(ctx.Response.Body())) // Test valid cookie ctx = &fasthttp.RequestCtx{} ctx.Request.Header.SetMethod("POST") h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) + require.Equal(t, 200, ctx.Response.StatusCode()) encryptedCookie := fasthttp.Cookie{} encryptedCookie.SetKey("test") - utils.AssertEqual(t, true, ctx.Response.Header.Cookie(&encryptedCookie), "Get cookie value") + require.True(t, ctx.Response.Header.Cookie(&encryptedCookie), "Get cookie value") decryptedCookieValue, _ := DecryptCookie(string(encryptedCookie.Value()), testKey) - utils.AssertEqual(t, "SomeThing", decryptedCookieValue) + require.Equal(t, "SomeThing", decryptedCookieValue) ctx = &fasthttp.RequestCtx{} ctx.Request.Header.SetMethod("GET") ctx.Request.Header.SetCookie("test", string(encryptedCookie.Value())) h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) - utils.AssertEqual(t, "value=SomeThing", string(ctx.Response.Body())) + require.Equal(t, 200, ctx.Response.StatusCode()) + require.Equal(t, "value=SomeThing", string(ctx.Response.Body())) } func Test_Encrypt_Cookie_Next(t *testing.T) { @@ -90,8 +90,8 @@ func Test_Encrypt_Cookie_Next(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "SomeThing", resp.Cookies()[0].Value) + require.NoError(t, err) + require.Equal(t, "SomeThing", resp.Cookies()[0].Value) } func Test_Encrypt_Cookie_Except(t *testing.T) { @@ -122,18 +122,18 @@ func Test_Encrypt_Cookie_Except(t *testing.T) { ctx := &fasthttp.RequestCtx{} ctx.Request.Header.SetMethod("GET") h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) + require.Equal(t, 200, ctx.Response.StatusCode()) rawCookie := fasthttp.Cookie{} rawCookie.SetKey("test1") - utils.AssertEqual(t, true, ctx.Response.Header.Cookie(&rawCookie), "Get cookie value") - utils.AssertEqual(t, "SomeThing", string(rawCookie.Value())) + require.True(t, ctx.Response.Header.Cookie(&rawCookie), "Get cookie value") + require.Equal(t, "SomeThing", string(rawCookie.Value())) encryptedCookie := fasthttp.Cookie{} encryptedCookie.SetKey("test2") - utils.AssertEqual(t, true, ctx.Response.Header.Cookie(&encryptedCookie), "Get cookie value") + require.True(t, ctx.Response.Header.Cookie(&encryptedCookie), "Get cookie value") decryptedCookieValue, _ := DecryptCookie(string(encryptedCookie.Value()), testKey) - utils.AssertEqual(t, "SomeThing", decryptedCookieValue) + require.Equal(t, "SomeThing", decryptedCookieValue) } func Test_Encrypt_Cookie_Custom_Encryptor(t *testing.T) { @@ -167,18 +167,18 @@ func Test_Encrypt_Cookie_Custom_Encryptor(t *testing.T) { ctx := &fasthttp.RequestCtx{} ctx.Request.Header.SetMethod("POST") h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) + require.Equal(t, 200, ctx.Response.StatusCode()) encryptedCookie := fasthttp.Cookie{} encryptedCookie.SetKey("test") - utils.AssertEqual(t, true, ctx.Response.Header.Cookie(&encryptedCookie), "Get cookie value") + require.True(t, ctx.Response.Header.Cookie(&encryptedCookie), "Get cookie value") decodedBytes, _ := base64.StdEncoding.DecodeString(string(encryptedCookie.Value())) - utils.AssertEqual(t, "SomeThing", string(decodedBytes)) + require.Equal(t, "SomeThing", string(decodedBytes)) ctx = &fasthttp.RequestCtx{} ctx.Request.Header.SetMethod("GET") ctx.Request.Header.SetCookie("test", string(encryptedCookie.Value())) h(ctx) - utils.AssertEqual(t, 200, ctx.Response.StatusCode()) - utils.AssertEqual(t, "value=SomeThing", string(ctx.Response.Body())) + require.Equal(t, 200, ctx.Response.StatusCode()) + require.Equal(t, "value=SomeThing", string(ctx.Response.Body())) } diff --git a/middleware/etag/etag_test.go b/middleware/etag/etag_test.go index 44b834bc..4768eb57 100644 --- a/middleware/etag/etag_test.go +++ b/middleware/etag/etag_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -21,8 +21,8 @@ func Test_ETag_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } // go test -run Test_ETag_SkipError @@ -36,8 +36,8 @@ func Test_ETag_SkipError(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusForbidden, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusForbidden, resp.StatusCode) } // go test -run Test_ETag_NotStatusOK @@ -51,8 +51,8 @@ func Test_ETag_NotStatusOK(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusCreated, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusCreated, resp.StatusCode) } // go test -run Test_ETag_NoBody @@ -66,8 +66,8 @@ func Test_ETag_NoBody(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) } // go test -run Test_ETag_NewEtag @@ -104,19 +104,19 @@ func testETagNewEtag(t *testing.T, headerIfNoneMatch, matched bool) { } resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) if !headerIfNoneMatch || !matched { - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, `"13-1831710635"`, resp.Header.Get(fiber.HeaderETag)) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, `"13-1831710635"`, resp.Header.Get(fiber.HeaderETag)) return } if matched { - utils.AssertEqual(t, fiber.StatusNotModified, resp.StatusCode) + require.Equal(t, fiber.StatusNotModified, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 0, len(b)) + require.NoError(t, err) + require.Equal(t, 0, len(b)) } } @@ -154,19 +154,19 @@ func testETagWeakEtag(t *testing.T, headerIfNoneMatch, matched bool) { } resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) if !headerIfNoneMatch || !matched { - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, `W/"13-1831710635"`, resp.Header.Get(fiber.HeaderETag)) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, `W/"13-1831710635"`, resp.Header.Get(fiber.HeaderETag)) return } if matched { - utils.AssertEqual(t, fiber.StatusNotModified, resp.StatusCode) + require.Equal(t, fiber.StatusNotModified, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 0, len(b)) + require.NoError(t, err) + require.Equal(t, 0, len(b)) } } @@ -208,19 +208,19 @@ func testETagCustomEtag(t *testing.T, headerIfNoneMatch, matched bool) { } resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) if !headerIfNoneMatch || !matched { - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, `"custom"`, resp.Header.Get(fiber.HeaderETag)) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, `"custom"`, resp.Header.Get(fiber.HeaderETag)) return } if matched { - utils.AssertEqual(t, fiber.StatusNotModified, resp.StatusCode) + require.Equal(t, fiber.StatusNotModified, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 0, len(b)) + require.NoError(t, err) + require.Equal(t, 0, len(b)) } } @@ -241,8 +241,8 @@ func Test_ETag_CustomEtagPut(t *testing.T) { req := httptest.NewRequest("PUT", "/", nil) req.Header.Set(fiber.HeaderIfMatch, `"non-match"`) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusPreconditionFailed, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusPreconditionFailed, resp.StatusCode) } // go test -v -run=^$ -bench=Benchmark_Etag -benchmem -count=4 @@ -268,6 +268,6 @@ func Benchmark_Etag(b *testing.B) { h(fctx) } - utils.AssertEqual(b, 200, fctx.Response.Header.StatusCode()) - utils.AssertEqual(b, `"13-1831710635"`, string(fctx.Response.Header.Peek(fiber.HeaderETag))) + require.Equal(b, 200, fctx.Response.Header.StatusCode()) + require.Equal(b, `"13-1831710635"`, string(fctx.Response.Header.Peek(fiber.HeaderETag))) } diff --git a/middleware/expvar/expvar_test.go b/middleware/expvar/expvar_test.go index 2bbc56e4..98e1a485 100644 --- a/middleware/expvar/expvar_test.go +++ b/middleware/expvar/expvar_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) func Test_Non_Expvar_Path(t *testing.T) { @@ -20,12 +20,12 @@ func Test_Non_Expvar_Path(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "escaped", string(b)) + require.NoError(t, err) + require.Equal(t, "escaped", string(b)) } func Test_Expvar_Index(t *testing.T) { @@ -38,14 +38,14 @@ func Test_Expvar_Index(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/debug/vars", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) - utils.AssertEqual(t, fiber.MIMEApplicationJSONCharsetUTF8, resp.Header.Get(fiber.HeaderContentType)) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) + require.Equal(t, fiber.MIMEApplicationJSONCharsetUTF8, resp.Header.Get(fiber.HeaderContentType)) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, bytes.Contains(b, []byte("cmdline"))) - utils.AssertEqual(t, true, bytes.Contains(b, []byte("memstat"))) + require.NoError(t, err) + require.True(t, bytes.Contains(b, []byte("cmdline"))) + require.True(t, bytes.Contains(b, []byte("memstat"))) } func Test_Expvar_Filter(t *testing.T) { @@ -58,14 +58,14 @@ func Test_Expvar_Filter(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/debug/vars?r=cmd", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) - utils.AssertEqual(t, fiber.MIMEApplicationJSONCharsetUTF8, resp.Header.Get(fiber.HeaderContentType)) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) + require.Equal(t, fiber.MIMEApplicationJSONCharsetUTF8, resp.Header.Get(fiber.HeaderContentType)) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, bytes.Contains(b, []byte("cmdline"))) - utils.AssertEqual(t, false, bytes.Contains(b, []byte("memstat"))) + require.NoError(t, err) + require.True(t, bytes.Contains(b, []byte("cmdline"))) + require.False(t, bytes.Contains(b, []byte("memstat"))) } func Test_Expvar_Other_Path(t *testing.T) { @@ -78,8 +78,8 @@ func Test_Expvar_Other_Path(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/debug/vars/302", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 302, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 302, resp.StatusCode) } // go test -run Test_Expvar_Next @@ -95,6 +95,6 @@ func Test_Expvar_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/debug/vars", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 404, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 404, resp.StatusCode) } diff --git a/middleware/favicon/favicon_test.go b/middleware/favicon/favicon_test.go index 9d9e1984..3db323cd 100644 --- a/middleware/favicon/favicon_test.go +++ b/middleware/favicon/favicon_test.go @@ -5,10 +5,10 @@ import ( "os" "testing" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" ) // go test -run Test_Middleware_Favicon @@ -23,21 +23,21 @@ func Test_Middleware_Favicon(t *testing.T) { // Skip Favicon middleware resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(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") + require.NoError(t, err, "app.Test(req)") + require.Equal(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, fiber.StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(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, fiber.StatusMethodNotAllowed, resp.StatusCode, "Status code") - utils.AssertEqual(t, "GET, HEAD, OPTIONS", resp.Header.Get(fiber.HeaderAllow)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, fiber.StatusMethodNotAllowed, resp.StatusCode, "Status code") + require.Equal(t, "GET, HEAD, OPTIONS", resp.Header.Get(fiber.HeaderAllow)) } // go test -run Test_Middleware_Favicon_Not_Found @@ -67,10 +67,10 @@ func Test_Middleware_Favicon_Found(t *testing.T) { 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)) - utils.AssertEqual(t, "public, max-age=31536000", resp.Header.Get(fiber.HeaderCacheControl), "CacheControl Control") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, fiber.StatusOK, resp.StatusCode, "Status code") + require.Equal(t, "image/x-icon", resp.Header.Get(fiber.HeaderContentType)) + require.Equal(t, "public, max-age=31536000", resp.Header.Get(fiber.HeaderCacheControl), "CacheControl Control") } // go test -run Test_Middleware_Favicon_FileSystem @@ -83,10 +83,10 @@ func Test_Middleware_Favicon_FileSystem(t *testing.T) { })) 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)) - utils.AssertEqual(t, "public, max-age=31536000", resp.Header.Get(fiber.HeaderCacheControl), "CacheControl Control") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, fiber.StatusOK, resp.StatusCode, "Status code") + require.Equal(t, "image/x-icon", resp.Header.Get(fiber.HeaderContentType)) + require.Equal(t, "public, max-age=31536000", resp.Header.Get(fiber.HeaderCacheControl), "CacheControl Control") } // go test -run Test_Middleware_Favicon_CacheControl @@ -99,10 +99,10 @@ func Test_Middleware_Favicon_CacheControl(t *testing.T) { })) 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)) - utils.AssertEqual(t, "public, max-age=100", resp.Header.Get(fiber.HeaderCacheControl), "CacheControl Control") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, fiber.StatusOK, resp.StatusCode, "Status code") + require.Equal(t, "image/x-icon", resp.Header.Get(fiber.HeaderContentType)) + require.Equal(t, "public, max-age=100", resp.Header.Get(fiber.HeaderCacheControl), "CacheControl Control") } // go test -v -run=^$ -bench=Benchmark_Middleware_Favicon -benchmem -count=4 @@ -134,6 +134,6 @@ func Test_Favicon_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } diff --git a/middleware/filesystem/filesystem_test.go b/middleware/filesystem/filesystem_test.go index 6cae3787..215a9e66 100644 --- a/middleware/filesystem/filesystem_test.go +++ b/middleware/filesystem/filesystem_test.go @@ -6,7 +6,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) // go test -run Test_FileSystem @@ -118,12 +118,12 @@ func Test_FileSystem(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { resp, err := app.Test(httptest.NewRequest("GET", tt.url, nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, tt.statusCode, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, tt.statusCode, resp.StatusCode) if tt.contentType != "" { ct := resp.Header.Get("Content-Type") - utils.AssertEqual(t, tt.contentType, ct) + require.Equal(t, tt.contentType, ct) } }) } @@ -140,8 +140,8 @@ func Test_FileSystem_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } func Test_FileSystem_NonGetAndHead(t *testing.T) { @@ -152,8 +152,8 @@ func Test_FileSystem_NonGetAndHead(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest(fiber.MethodPost, "/test", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 404, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 404, resp.StatusCode) } func Test_FileSystem_Head(t *testing.T) { @@ -165,13 +165,13 @@ func Test_FileSystem_Head(t *testing.T) { req, _ := http.NewRequest(fiber.MethodHead, "/test", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) } func Test_FileSystem_NoRoot(t *testing.T) { defer func() { - utils.AssertEqual(t, "filesystem: Root cannot be nil", recover()) + require.Equal(t, "filesystem: Root cannot be nil", recover()) }() app := fiber.New() @@ -188,8 +188,8 @@ func Test_FileSystem_UsingParam(t *testing.T) { req, _ := http.NewRequest(fiber.MethodHead, "/index", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) } func Test_FileSystem_UsingParam_NonFile(t *testing.T) { @@ -201,6 +201,6 @@ func Test_FileSystem_UsingParam_NonFile(t *testing.T) { req, _ := http.NewRequest(fiber.MethodHead, "/template", nil) resp, err := app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 404, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 404, resp.StatusCode) } diff --git a/middleware/helmet/helmet_test.go b/middleware/helmet/helmet_test.go index 56df76f6..0b13b5a0 100644 --- a/middleware/helmet/helmet_test.go +++ b/middleware/helmet/helmet_test.go @@ -9,7 +9,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) func Test_Default(t *testing.T) { @@ -22,13 +22,13 @@ func Test_Default(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "1; mode=block", resp.Header.Get(fiber.HeaderXXSSProtection)) - utils.AssertEqual(t, "nosniff", resp.Header.Get(fiber.HeaderXContentTypeOptions)) - utils.AssertEqual(t, "SAMEORIGIN", resp.Header.Get(fiber.HeaderXFrameOptions)) - utils.AssertEqual(t, "", resp.Header.Get(fiber.HeaderContentSecurityPolicy)) - utils.AssertEqual(t, "", resp.Header.Get(fiber.HeaderReferrerPolicy)) - utils.AssertEqual(t, "", resp.Header.Get(fiber.HeaderPermissionsPolicy)) + require.NoError(t, err) + require.Equal(t, "1; mode=block", resp.Header.Get(fiber.HeaderXXSSProtection)) + require.Equal(t, "nosniff", resp.Header.Get(fiber.HeaderXContentTypeOptions)) + require.Equal(t, "SAMEORIGIN", resp.Header.Get(fiber.HeaderXFrameOptions)) + require.Equal(t, "", resp.Header.Get(fiber.HeaderContentSecurityPolicy)) + require.Equal(t, "", resp.Header.Get(fiber.HeaderReferrerPolicy)) + require.Equal(t, "", resp.Header.Get(fiber.HeaderPermissionsPolicy)) } func Test_Filter(t *testing.T) { @@ -49,12 +49,12 @@ func Test_Filter(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "no-referrer", resp.Header.Get(fiber.HeaderReferrerPolicy)) + require.NoError(t, err) + require.Equal(t, "no-referrer", resp.Header.Get(fiber.HeaderReferrerPolicy)) resp, err = app.Test(httptest.NewRequest("GET", "/filter", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "", resp.Header.Get(fiber.HeaderReferrerPolicy)) + require.NoError(t, err) + require.Equal(t, "", resp.Header.Get(fiber.HeaderReferrerPolicy)) } func Test_ContentSecurityPolicy(t *testing.T) { @@ -69,8 +69,8 @@ func Test_ContentSecurityPolicy(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "default-src 'none'", resp.Header.Get(fiber.HeaderContentSecurityPolicy)) + require.NoError(t, err) + require.Equal(t, "default-src 'none'", resp.Header.Get(fiber.HeaderContentSecurityPolicy)) } func Test_ContentSecurityPolicyReportOnly(t *testing.T) { @@ -86,9 +86,9 @@ func Test_ContentSecurityPolicyReportOnly(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "default-src 'none'", resp.Header.Get(fiber.HeaderContentSecurityPolicyReportOnly)) - utils.AssertEqual(t, "", resp.Header.Get(fiber.HeaderContentSecurityPolicy)) + require.NoError(t, err) + require.Equal(t, "default-src 'none'", resp.Header.Get(fiber.HeaderContentSecurityPolicyReportOnly)) + require.Equal(t, "", resp.Header.Get(fiber.HeaderContentSecurityPolicy)) } func Test_PermissionsPolicy(t *testing.T) { @@ -103,6 +103,6 @@ func Test_PermissionsPolicy(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "microphone=()", resp.Header.Get(fiber.HeaderPermissionsPolicy)) + require.NoError(t, err) + require.Equal(t, "microphone=()", resp.Header.Get(fiber.HeaderPermissionsPolicy)) } diff --git a/middleware/limiter/limiter_test.go b/middleware/limiter/limiter_test.go index 02ddd2bd..9cae095c 100644 --- a/middleware/limiter/limiter_test.go +++ b/middleware/limiter/limiter_test.go @@ -10,7 +10,7 @@ import ( "github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3/internal/storage/memory" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -34,12 +34,12 @@ func Test_Limiter_Concurrency_Store(t *testing.T) { singleRequest := func(wg *sync.WaitGroup) { defer wg.Done() resp, err := app.Test(httptest.NewRequest(http.MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "Hello tester!", string(body)) + require.NoError(t, err) + require.Equal(t, "Hello tester!", string(body)) } for i := 0; i <= 49; i++ { @@ -50,14 +50,14 @@ func Test_Limiter_Concurrency_Store(t *testing.T) { wg.Wait() resp, err := app.Test(httptest.NewRequest(http.MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 429, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 429, resp.StatusCode) time.Sleep(3 * time.Second) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) } // go test -run Test_Limiter_Concurrency -race -v @@ -79,12 +79,12 @@ func Test_Limiter_Concurrency(t *testing.T) { singleRequest := func(wg *sync.WaitGroup) { defer wg.Done() resp, err := app.Test(httptest.NewRequest(http.MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "Hello tester!", string(body)) + require.NoError(t, err) + require.Equal(t, "Hello tester!", string(body)) } for i := 0; i <= 49; i++ { @@ -95,14 +95,14 @@ func Test_Limiter_Concurrency(t *testing.T) { wg.Wait() resp, err := app.Test(httptest.NewRequest(http.MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 429, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 429, resp.StatusCode) time.Sleep(3 * time.Second) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) } // go test -run Test_Limiter_No_Skip_Choices -v @@ -124,16 +124,16 @@ func Test_Limiter_No_Skip_Choices(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(http.MethodGet, "/fail", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 400, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 400, resp.StatusCode) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/success", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/success", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 429, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 429, resp.StatusCode) } // go test -run Test_Limiter_Skip_Failed_Requests -v @@ -154,22 +154,22 @@ func Test_Limiter_Skip_Failed_Requests(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(http.MethodGet, "/fail", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 400, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 400, resp.StatusCode) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/success", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/success", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 429, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 429, resp.StatusCode) time.Sleep(3 * time.Second) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/success", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) } // go test -run Test_Limiter_Skip_Successful_Requests -v @@ -192,22 +192,22 @@ func Test_Limiter_Skip_Successful_Requests(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(http.MethodGet, "/success", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/fail", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 400, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 400, resp.StatusCode) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/fail", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 429, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 429, resp.StatusCode) time.Sleep(3 * time.Second) resp, err = app.Test(httptest.NewRequest(http.MethodGet, "/fail", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 400, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 400, resp.StatusCode) } // go test -v -run=^$ -bench=Benchmark_Limiter_Custom_Store -benchmem -count=4 @@ -247,8 +247,8 @@ func Test_Limiter_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } func Test_Limiter_Headers(t *testing.T) { @@ -269,7 +269,7 @@ func Test_Limiter_Headers(t *testing.T) { app.Handler()(fctx) - utils.AssertEqual(t, "50", string(fctx.Response.Header.Peek("X-RateLimit-Limit"))) + require.Equal(t, "50", string(fctx.Response.Header.Peek("X-RateLimit-Limit"))) if v := string(fctx.Response.Header.Peek("X-RateLimit-Remaining")); v == "" { t.Errorf("The X-RateLimit-Remaining header is not set correctly - value is an empty string.") } @@ -321,11 +321,11 @@ func Test_Sliding_Window(t *testing.T) { singleRequest := func(shouldFail bool) { resp, err := app.Test(httptest.NewRequest(http.MethodGet, "/", nil)) if shouldFail { - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 429, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 429, resp.StatusCode) } else { - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) } } diff --git a/middleware/logger/logger_test.go b/middleware/logger/logger_test.go index 6a297487..243c80c6 100644 --- a/middleware/logger/logger_test.go +++ b/middleware/logger/logger_test.go @@ -12,7 +12,7 @@ import ( "github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3/middleware/requestid" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/bytebufferpool" "github.com/valyala/fasthttp" ) @@ -34,9 +34,9 @@ func Test_Logger(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode) - utils.AssertEqual(t, "some random error", buf.String()) + require.NoError(t, err) + require.Equal(t, fiber.StatusInternalServerError, resp.StatusCode) + require.Equal(t, "some random error", buf.String()) } // go test -run Test_Logger_locals @@ -66,23 +66,23 @@ func Test_Logger_locals(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, "johndoe", buf.String()) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, "johndoe", buf.String()) buf.Reset() resp, err = app.Test(httptest.NewRequest("GET", "/int", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, "55", buf.String()) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, "55", buf.String()) buf.Reset() resp, err = app.Test(httptest.NewRequest("GET", "/empty", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, "", buf.String()) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, "", buf.String()) } // go test -run Test_Logger_Next @@ -95,8 +95,8 @@ func Test_Logger_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } // go test -run Test_Logger_ErrorTimeZone @@ -107,8 +107,8 @@ func Test_Logger_ErrorTimeZone(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } type fakeOutput int @@ -127,10 +127,10 @@ func Test_Logger_ErrorOutput(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) - utils.AssertEqual(t, 2, int(*o)) + require.Equal(t, 2, int(*o)) } // go test -run Test_Logger_All @@ -148,11 +148,11 @@ func Test_Logger_All(t *testing.T) { colors := app.Config().ColorScheme resp, err := app.Test(httptest.NewRequest("GET", "/?foo=bar", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) expected := fmt.Sprintf("%dHost=example.comhttpHTTP/1.10.0.0.0example.com/?foo=bar/%s%s%s%s%s%s%s%s%sCannot GET /", os.Getpid(), colors.Black, colors.Red, colors.Green, colors.Yellow, colors.Blue, colors.Magenta, colors.Cyan, colors.White, colors.Reset) - utils.AssertEqual(t, expected, buf.String()) + require.Equal(t, expected, buf.String()) } // go test -run Test_Query_Params @@ -167,11 +167,11 @@ func Test_Query_Params(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/?foo=bar&baz=moz", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) expected := "foo=bar&baz=moz" - utils.AssertEqual(t, expected, buf.String()) + require.Equal(t, expected, buf.String()) } // go test -run Test_Response_Body @@ -194,18 +194,18 @@ func Test_Response_Body(t *testing.T) { }) _, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) expectedGetResponse := "Sample response body" - utils.AssertEqual(t, expectedGetResponse, buf.String()) + require.Equal(t, expectedGetResponse, buf.String()) buf.Reset() // Reset buffer to test POST _, err = app.Test(httptest.NewRequest("POST", "/test", nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) expectedPostResponse := "Post in test" - utils.AssertEqual(t, expectedPostResponse, buf.String()) + require.Equal(t, expectedPostResponse, buf.String()) } // go test -run Test_Logger_AppendUint @@ -225,9 +225,9 @@ func Test_Logger_AppendUint(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, "0 5 200", buf.String()) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, "0 5 200", buf.String()) } // go test -run Test_Logger_Data_Race -race @@ -256,10 +256,10 @@ func Test_Logger_Data_Race(t *testing.T) { resp2, err2 = app.Test(httptest.NewRequest("GET", "/", nil)) wg.Wait() - utils.AssertEqual(t, nil, err1) - utils.AssertEqual(t, fiber.StatusOK, resp1.StatusCode) - utils.AssertEqual(t, nil, err2) - utils.AssertEqual(t, fiber.StatusOK, resp2.StatusCode) + require.Nil(t, err1) + require.Equal(t, fiber.StatusOK, resp1.StatusCode) + require.Nil(t, err2) + require.Equal(t, fiber.StatusOK, resp2.StatusCode) } // go test -v -run=^$ -bench=Benchmark_Logger -benchmem -count=4 @@ -287,7 +287,7 @@ func Benchmark_Logger(b *testing.B) { h(fctx) } - utils.AssertEqual(b, 200, fctx.Response.Header.StatusCode()) + require.Equal(b, 200, fctx.Response.Header.StatusCode()) } // go test -run Test_Response_Header @@ -312,9 +312,9 @@ func Test_Response_Header(t *testing.T) { resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, "Hello fiber!", buf.String()) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, "Hello fiber!", buf.String()) } // go test -run Test_Req_Header @@ -334,9 +334,9 @@ func Test_Req_Header(t *testing.T) { headerReq.Header.Add("test", "Hello fiber!") resp, err := app.Test(headerReq) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, "Hello fiber!", buf.String()) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, "Hello fiber!", buf.String()) } // go test -run Test_ReqHeader_Header @@ -356,7 +356,7 @@ func Test_ReqHeader_Header(t *testing.T) { reqHeaderReq.Header.Add("test", "Hello fiber!") resp, err := app.Test(reqHeaderReq) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, "Hello fiber!", buf.String()) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, "Hello fiber!", buf.String()) } diff --git a/middleware/pprof/pprof_test.go b/middleware/pprof/pprof_test.go index 4305cf29..b6766318 100644 --- a/middleware/pprof/pprof_test.go +++ b/middleware/pprof/pprof_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) func Test_Non_Pprof_Path(t *testing.T) { @@ -20,12 +20,12 @@ func Test_Non_Pprof_Path(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "escaped", string(b)) + require.NoError(t, err) + require.Equal(t, "escaped", string(b)) } func Test_Pprof_Index(t *testing.T) { @@ -38,13 +38,13 @@ func Test_Pprof_Index(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/debug/pprof/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) - utils.AssertEqual(t, fiber.MIMETextHTMLCharsetUTF8, resp.Header.Get(fiber.HeaderContentType)) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) + require.Equal(t, fiber.MIMETextHTMLCharsetUTF8, resp.Header.Get(fiber.HeaderContentType)) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, bytes.Contains(b, []byte("/debug/pprof/"))) + require.NoError(t, err) + require.True(t, bytes.Contains(b, []byte("/debug/pprof/"))) } func Test_Pprof_Subs(t *testing.T) { @@ -68,8 +68,8 @@ func Test_Pprof_Subs(t *testing.T) { target += "?seconds=1" } resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, target, nil), 5000) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 200, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 200, resp.StatusCode) }) } } @@ -84,8 +84,8 @@ func Test_Pprof_Other(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/debug/pprof/302", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 302, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 302, resp.StatusCode) } // go test -run Test_Pprof_Next @@ -101,6 +101,6 @@ func Test_Pprof_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/debug/pprof/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 404, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, 404, resp.StatusCode) } diff --git a/middleware/proxy/proxy_test.go b/middleware/proxy/proxy_test.go index 2acf06d2..05005a92 100644 --- a/middleware/proxy/proxy_test.go +++ b/middleware/proxy/proxy_test.go @@ -13,6 +13,7 @@ import ( "github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3/internal/tlstest" "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) func createProxyTestServer(handler fiber.Handler, t *testing.T) (*fiber.App, string) { @@ -22,10 +23,10 @@ func createProxyTestServer(handler fiber.Handler, t *testing.T) (*fiber.App, str target.Get("/", handler) ln, err := net.Listen(fiber.NetworkTCP4, "127.0.0.1:0") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) go func() { - utils.AssertEqual(t, nil, target.Listener(ln)) + require.Nil(t, target.Listener(ln)) }() time.Sleep(2 * time.Second) @@ -40,7 +41,7 @@ func Test_Proxy_Empty_Upstream_Servers(t *testing.T) { defer func() { if r := recover(); r != nil { - utils.AssertEqual(t, "Servers cannot be empty", r) + require.Equal(t, "Servers cannot be empty", r) } }() app := fiber.New() @@ -60,8 +61,8 @@ func Test_Proxy_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } // go test -run Test_Proxy @@ -73,8 +74,8 @@ func Test_Proxy(t *testing.T) { ) resp, err := target.Test(httptest.NewRequest("GET", "/", nil), 2000) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusTeapot, resp.StatusCode) app := fiber.New(fiber.Config{DisableStartupMessage: true}) @@ -83,8 +84,8 @@ func Test_Proxy(t *testing.T) { req := httptest.NewRequest("GET", "/", nil) req.Host = addr resp, err = app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusTeapot, resp.StatusCode) } // go test -run Test_Proxy_Balancer_WithTlsConfig @@ -92,10 +93,10 @@ func Test_Proxy_Balancer_WithTlsConfig(t *testing.T) { t.Parallel() serverTLSConf, _, err := tlstest.GetTLSConfigs() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) ln, err := net.Listen(fiber.NetworkTCP4, "127.0.0.1:0") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) ln = tls.NewListener(ln, serverTLSConf) @@ -114,13 +115,13 @@ func Test_Proxy_Balancer_WithTlsConfig(t *testing.T) { TlsConfig: clientTLSConf, })) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() code, body, errs := fiber.Get("https://" + addr + "/tlsbalaner").TLSConfig(clientTLSConf).String() - utils.AssertEqual(t, 0, len(errs)) - utils.AssertEqual(t, fiber.StatusOK, code) - utils.AssertEqual(t, "tls balancer", body) + require.Equal(t, 0, len(errs)) + require.Equal(t, fiber.StatusOK, code) + require.Equal(t, "tls balancer", body) } // go test -run Test_Proxy_Forward_WithTlsConfig_To_Http @@ -132,10 +133,10 @@ func Test_Proxy_Forward_WithTlsConfig_To_Http(t *testing.T) { }, t) proxyServerTLSConf, _, err := tlstest.GetTLSConfigs() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) proxyServerLn, err := net.Listen(fiber.NetworkTCP4, "127.0.0.1:0") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) proxyServerLn = tls.NewListener(proxyServerLn, proxyServerTLSConf) @@ -145,16 +146,16 @@ func Test_Proxy_Forward_WithTlsConfig_To_Http(t *testing.T) { app.Use(Forward("http://" + targetAddr)) - go func() { utils.AssertEqual(t, nil, app.Listener(proxyServerLn)) }() + go func() { require.Nil(t, app.Listener(proxyServerLn)) }() code, body, errs := fiber.Get("https://" + proxyAddr). InsecureSkipVerify(). Timeout(5 * time.Second). String() - utils.AssertEqual(t, 0, len(errs)) - utils.AssertEqual(t, fiber.StatusOK, code) - utils.AssertEqual(t, "hello from target", body) + require.Equal(t, 0, len(errs)) + require.Equal(t, fiber.StatusOK, code) + require.Equal(t, "hello from target", body) } // go test -run Test_Proxy_Forward @@ -170,12 +171,12 @@ func Test_Proxy_Forward(t *testing.T) { app.Use(Forward("http://" + addr)) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "forwarded", string(b)) + require.NoError(t, err) + require.Equal(t, "forwarded", string(b)) } // go test -run Test_Proxy_Forward_WithTlsConfig @@ -183,10 +184,10 @@ func Test_Proxy_Forward_WithTlsConfig(t *testing.T) { t.Parallel() serverTLSConf, _, err := tlstest.GetTLSConfigs() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) ln, err := net.Listen(fiber.NetworkTCP4, "127.0.0.1:0") - utils.AssertEqual(t, nil, err) + require.NoError(t, err) ln = tls.NewListener(ln, serverTLSConf) @@ -203,13 +204,13 @@ func Test_Proxy_Forward_WithTlsConfig(t *testing.T) { WithTlsConfig(clientTLSConf) app.Use(Forward("https://" + addr + "/tlsfwd")) - go func() { utils.AssertEqual(t, nil, app.Listener(ln)) }() + go func() { require.Nil(t, app.Listener(ln)) }() code, body, errs := fiber.Get("https://" + addr).TLSConfig(clientTLSConf).String() - utils.AssertEqual(t, 0, len(errs)) - utils.AssertEqual(t, fiber.StatusOK, code) - utils.AssertEqual(t, "tls forward", body) + require.Equal(t, 0, len(errs)) + require.Equal(t, fiber.StatusOK, code) + require.Equal(t, "tls forward", body) } // go test -run Test_Proxy_Modify_Response @@ -230,12 +231,12 @@ func Test_Proxy_Modify_Response(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "modified response", string(b)) + require.NoError(t, err) + require.Equal(t, "modified response", string(b)) } // go test -run Test_Proxy_Modify_Request @@ -257,12 +258,12 @@ func Test_Proxy_Modify_Request(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "modified request", string(b)) + require.NoError(t, err) + require.Equal(t, "modified request", string(b)) } // go test -run Test_Proxy_Timeout_Slow_Server @@ -281,12 +282,12 @@ func Test_Proxy_Timeout_Slow_Server(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil), 5000) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "fiber is awesome", string(b)) + require.NoError(t, err) + require.Equal(t, "fiber is awesome", string(b)) } // go test -run Test_Proxy_With_Timeout @@ -305,12 +306,12 @@ func Test_Proxy_With_Timeout(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil), 2000) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusInternalServerError, resp.StatusCode) b, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "timeout", string(b)) + require.NoError(t, err) + require.Equal(t, "timeout", string(b)) } // go test -run Test_Proxy_Buffer_Size_Response @@ -327,8 +328,8 @@ func Test_Proxy_Buffer_Size_Response(t *testing.T) { app.Use(Balancer(Config{Servers: []string{addr}})) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusInternalServerError, resp.StatusCode) app = fiber.New() app.Use(Balancer(Config{ @@ -337,8 +338,8 @@ func Test_Proxy_Buffer_Size_Response(t *testing.T) { })) resp, err = app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) } // go test -race -run Test_Proxy_Do_RestoreOriginalURL @@ -353,15 +354,15 @@ func Test_Proxy_Do_RestoreOriginalURL(t *testing.T) { if err := Do(c, "/proxy"); err != nil { return err } - utils.AssertEqual(t, originalURL, c.OriginalURL()) + require.Equal(t, originalURL, c.OriginalURL()) return c.SendString("ok") }) _, err1 := app.Test(httptest.NewRequest("GET", "/test", nil)) // This test requires multiple requests due to zero allocation used in fiber _, err2 := app.Test(httptest.NewRequest("GET", "/test", nil)) - utils.AssertEqual(t, nil, err1) - utils.AssertEqual(t, nil, err2) + require.Nil(t, err1) + require.Nil(t, err2) } func Test_Proxy_Do_HTTP_Prefix_URL(t *testing.T) { @@ -376,7 +377,7 @@ func Test_Proxy_Do_HTTP_Prefix_URL(t *testing.T) { path := c.OriginalURL() url := strings.TrimPrefix(path, "/") - utils.AssertEqual(t, "http://"+addr, url) + require.Equal(t, "http://"+addr, url) if err := Do(c, url); err != nil { return err } @@ -385,8 +386,8 @@ func Test_Proxy_Do_HTTP_Prefix_URL(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(http.MethodGet, "/http://"+addr, nil)) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) s, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "hello world", string(s)) + require.NoError(t, err) + require.Equal(t, "hello world", string(s)) } diff --git a/middleware/recover/recover_test.go b/middleware/recover/recover_test.go index b7046e42..b837a9d4 100644 --- a/middleware/recover/recover_test.go +++ b/middleware/recover/recover_test.go @@ -5,14 +5,14 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) // go test -run Test_Recover func Test_Recover(t *testing.T) { app := fiber.New(fiber.Config{ ErrorHandler: func(c fiber.Ctx, err error) error { - utils.AssertEqual(t, "Hi, I'm an error!", err.Error()) + require.Equal(t, "Hi, I'm an error!", err.Error()) return c.SendStatus(fiber.StatusTeapot) }, }) @@ -24,8 +24,8 @@ func Test_Recover(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/panic", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusTeapot, resp.StatusCode) } // go test -run Test_Recover_Next @@ -38,8 +38,8 @@ func Test_Recover_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } func Test_Recover_EnableStackTrace(t *testing.T) { @@ -53,6 +53,6 @@ func Test_Recover_EnableStackTrace(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/panic", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusInternalServerError, resp.StatusCode) } diff --git a/middleware/requestid/requestid_test.go b/middleware/requestid/requestid_test.go index 64237714..f0113735 100644 --- a/middleware/requestid/requestid_test.go +++ b/middleware/requestid/requestid_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) // go test -run Test_RequestID @@ -19,19 +19,19 @@ func Test_RequestID(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) reqid := resp.Header.Get(fiber.HeaderXRequestID) - utils.AssertEqual(t, 36, len(reqid)) + require.Equal(t, 36, len(reqid)) req := httptest.NewRequest("GET", "/", nil) req.Header.Add(fiber.HeaderXRequestID, reqid) resp, err = app.Test(req) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) - utils.AssertEqual(t, reqid, resp.Header.Get(fiber.HeaderXRequestID)) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) + require.Equal(t, reqid, resp.Header.Get(fiber.HeaderXRequestID)) } // go test -run Test_RequestID_Next @@ -44,9 +44,9 @@ func Test_RequestID_Next(t *testing.T) { })) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, resp.Header.Get(fiber.HeaderXRequestID), "") - utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, resp.Header.Get(fiber.HeaderXRequestID), "") + require.Equal(t, fiber.StatusNotFound, resp.StatusCode) } // go test -run Test_RequestID_Locals @@ -70,6 +70,6 @@ func Test_RequestID_Locals(t *testing.T) { }) _, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, reqId, ctxVal) + require.NoError(t, err) + require.Equal(t, reqId, ctxVal) } diff --git a/middleware/session/session.go b/middleware/session/session.go index 65b8c3f2..a45a5061 100644 --- a/middleware/session/session.go +++ b/middleware/session/session.go @@ -14,7 +14,7 @@ import ( type Session struct { id string // session id fresh bool // if new session - ctx fiber.Ctx // fiber context + ctx fiber.Ctx // fiber context config *Store // store configuration data *data // key value data byteBuffer *bytes.Buffer // byte buffer for the en- and decode diff --git a/middleware/session/session_test.go b/middleware/session/session_test.go index 9c0ea749..57628755 100644 --- a/middleware/session/session_test.go +++ b/middleware/session/session_test.go @@ -6,7 +6,7 @@ import ( "github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3/internal/storage/memory" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -28,55 +28,55 @@ func Test_Session(t *testing.T) { // get session sess, err := store.Get(ctx) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, sess.Fresh()) + require.NoError(t, err) + require.True(t, sess.Fresh()) // get keys keys := sess.Keys() - utils.AssertEqual(t, []string{}, keys) + require.Equal(t, []string{}, keys) // get value name := sess.Get("name") - utils.AssertEqual(t, nil, name) + require.Nil(t, name) // set value sess.Set("name", "john") // get value name = sess.Get("name") - utils.AssertEqual(t, "john", name) + require.Equal(t, "john", name) keys = sess.Keys() - utils.AssertEqual(t, []string{"name"}, keys) + require.Equal(t, []string{"name"}, keys) // delete key sess.Delete("name") // get value name = sess.Get("name") - utils.AssertEqual(t, nil, name) + require.Nil(t, name) // get keys keys = sess.Keys() - utils.AssertEqual(t, []string{}, keys) + require.Equal(t, []string{}, keys) // get id id := sess.ID() - utils.AssertEqual(t, "123", id) + require.Equal(t, "123", id) // save the old session first err = sess.Save() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) // requesting entirely new context to prevent falsy tests ctx = app.NewCtx(&fasthttp.RequestCtx{}) sess, err = store.Get(ctx) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, sess.Fresh()) + require.NoError(t, err) + require.True(t, sess.Fresh()) // this id should be randomly generated as session key was deleted - utils.AssertEqual(t, 36, len(sess.ID())) + require.Equal(t, 36, len(sess.ID())) // when we use the original session for the second time // the session be should be same if the session is not expired @@ -85,9 +85,9 @@ func Test_Session(t *testing.T) { // request the server with the old session ctx.Request().Header.SetCookie(store.sessionName, id) sess, err = store.Get(ctx) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, false, sess.Fresh()) - utils.AssertEqual(t, sess.id, id) + require.NoError(t, err) + require.False(t, sess.Fresh()) + require.Equal(t, sess.id, id) } // go test -run Test_Session_Types @@ -108,8 +108,8 @@ func Test_Session_Types(t *testing.T) { // get session sess, err := store.Get(ctx) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, true, sess.Fresh()) + require.NoError(t, err) + require.True(t, sess.Fresh()) // the session string is no longer be 123 newSessionIDString := sess.ID() @@ -166,34 +166,34 @@ func Test_Session_Types(t *testing.T) { // save session err = sess.Save() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) // get session sess, err = store.Get(ctx) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, false, sess.Fresh()) + require.NoError(t, err) + require.False(t, sess.Fresh()) // get value - utils.AssertEqual(t, vuser, sess.Get("vuser").(User)) - utils.AssertEqual(t, vbool, sess.Get("vbool").(bool)) - utils.AssertEqual(t, vstring, sess.Get("vstring").(string)) - utils.AssertEqual(t, vint, sess.Get("vint").(int)) - utils.AssertEqual(t, vint8, sess.Get("vint8").(int8)) - utils.AssertEqual(t, vint16, sess.Get("vint16").(int16)) - utils.AssertEqual(t, vint32, sess.Get("vint32").(int32)) - utils.AssertEqual(t, vint64, sess.Get("vint64").(int64)) - utils.AssertEqual(t, vuint, sess.Get("vuint").(uint)) - utils.AssertEqual(t, vuint8, sess.Get("vuint8").(uint8)) - utils.AssertEqual(t, vuint16, sess.Get("vuint16").(uint16)) - utils.AssertEqual(t, vuint32, sess.Get("vuint32").(uint32)) - utils.AssertEqual(t, vuint64, sess.Get("vuint64").(uint64)) - utils.AssertEqual(t, vuintptr, sess.Get("vuintptr").(uintptr)) - utils.AssertEqual(t, vbyte, sess.Get("vbyte").(byte)) - utils.AssertEqual(t, vrune, sess.Get("vrune").(rune)) - utils.AssertEqual(t, vfloat32, sess.Get("vfloat32").(float32)) - utils.AssertEqual(t, vfloat64, sess.Get("vfloat64").(float64)) - utils.AssertEqual(t, vcomplex64, sess.Get("vcomplex64").(complex64)) - utils.AssertEqual(t, vcomplex128, sess.Get("vcomplex128").(complex128)) + require.Equal(t, vuser, sess.Get("vuser").(User)) + require.Equal(t, vbool, sess.Get("vbool").(bool)) + require.Equal(t, vstring, sess.Get("vstring").(string)) + require.Equal(t, vint, sess.Get("vint").(int)) + require.Equal(t, vint8, sess.Get("vint8").(int8)) + require.Equal(t, vint16, sess.Get("vint16").(int16)) + require.Equal(t, vint32, sess.Get("vint32").(int32)) + require.Equal(t, vint64, sess.Get("vint64").(int64)) + require.Equal(t, vuint, sess.Get("vuint").(uint)) + require.Equal(t, vuint8, sess.Get("vuint8").(uint8)) + require.Equal(t, vuint16, sess.Get("vuint16").(uint16)) + require.Equal(t, vuint32, sess.Get("vuint32").(uint32)) + require.Equal(t, vuint64, sess.Get("vuint64").(uint64)) + require.Equal(t, vuintptr, sess.Get("vuintptr").(uintptr)) + require.Equal(t, vbyte, sess.Get("vbyte").(byte)) + require.Equal(t, vrune, sess.Get("vrune").(rune)) + require.Equal(t, vfloat32, sess.Get("vfloat32").(float32)) + require.Equal(t, vfloat64, sess.Get("vfloat64").(float64)) + require.Equal(t, vcomplex64, sess.Get("vcomplex64").(complex64)) + require.Equal(t, vcomplex128, sess.Get("vcomplex128").(complex128)) } // go test -run Test_Session_Store_Reset @@ -209,7 +209,7 @@ func Test_Session_Store_Reset(t *testing.T) { // get session sess, _ := store.Get(ctx) // make sure its new - utils.AssertEqual(t, true, sess.Fresh()) + require.True(t, sess.Fresh()) // set value & save sess.Set("hello", "world") ctx.Request().Header.SetCookie(store.sessionName, sess.ID()) @@ -220,8 +220,8 @@ func Test_Session_Store_Reset(t *testing.T) { // make sure the session is recreated sess, _ = store.Get(ctx) - utils.AssertEqual(t, true, sess.Fresh()) - utils.AssertEqual(t, nil, sess.Get("hello")) + require.True(t, sess.Fresh()) + require.Nil(t, sess.Get("hello")) } // go test -run Test_Session_Save @@ -243,7 +243,7 @@ func Test_Session_Save(t *testing.T) { // save session err := sess.Save() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) }) t.Run("save to header", func(t *testing.T) { @@ -263,9 +263,9 @@ func Test_Session_Save(t *testing.T) { // save session err := sess.Save() - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, store.getSessionID(ctx), string(ctx.Response().Header.Peek(store.sessionName))) - utils.AssertEqual(t, store.getSessionID(ctx), string(ctx.Request().Header.Peek(store.sessionName))) + require.NoError(t, err) + require.Equal(t, store.getSessionID(ctx), string(ctx.Response().Header.Peek(store.sessionName))) + require.Equal(t, store.getSessionID(ctx), string(ctx.Request().Header.Peek(store.sessionName))) }) } @@ -290,18 +290,18 @@ func Test_Session_Save_Expiration(t *testing.T) { // save session err := sess.Save() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) // here you need to get the old session yet sess, _ = store.Get(ctx) - utils.AssertEqual(t, "john", sess.Get("name")) + require.Equal(t, "john", sess.Get("name")) // just to make sure the session has been expired time.Sleep(time.Second * 5) // here you should get a new session sess, _ = store.Get(ctx) - utils.AssertEqual(t, nil, sess.Get("name")) + require.Nil(t, sess.Get("name")) }) } @@ -323,7 +323,7 @@ func Test_Session_Reset(t *testing.T) { sess.Set("name", "fenny") sess.Destroy() name := sess.Get("name") - utils.AssertEqual(t, nil, name) + require.Nil(t, name) }) t.Run("reset from header", func(t *testing.T) { @@ -345,9 +345,9 @@ func Test_Session_Reset(t *testing.T) { sess, _ = store.Get(ctx) err := sess.Destroy() - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, "", string(ctx.Response().Header.Peek(store.sessionName))) - utils.AssertEqual(t, "", string(ctx.Request().Header.Peek(store.sessionName))) + require.NoError(t, err) + require.Equal(t, "", string(ctx.Response().Header.Peek(store.sessionName))) + require.Equal(t, "", string(ctx.Request().Header.Peek(store.sessionName))) }) } @@ -356,11 +356,11 @@ func Test_Session_Custom_Config(t *testing.T) { t.Parallel() store := New(Config{Expiration: time.Hour, KeyGenerator: func() string { return "very random" }}) - utils.AssertEqual(t, time.Hour, store.Expiration) - utils.AssertEqual(t, "very random", store.KeyGenerator()) + require.Equal(t, time.Hour, store.Expiration) + require.Equal(t, "very random", store.KeyGenerator()) store = New(Config{Expiration: 0}) - utils.AssertEqual(t, ConfigDefault.Expiration, store.Expiration) + require.Equal(t, ConfigDefault.Expiration, store.Expiration) } // go test -run Test_Session_Cookie @@ -378,7 +378,7 @@ func Test_Session_Cookie(t *testing.T) { sess.Save() // cookie should be set on Save ( even if empty data ) - utils.AssertEqual(t, 84, len(ctx.Response().Header.PeekCookie(store.sessionName))) + require.Equal(t, 84, len(ctx.Response().Header.PeekCookie(store.sessionName))) } // go test -run Test_Session_Cookie_In_Response @@ -393,15 +393,15 @@ func Test_Session_Cookie_In_Response(t *testing.T) { // get session sess, _ := store.Get(ctx) sess.Set("id", "1") - utils.AssertEqual(t, true, sess.Fresh()) + require.True(t, sess.Fresh()) sess.Save() sess, _ = store.Get(ctx) sess.Set("name", "john") - utils.AssertEqual(t, true, sess.Fresh()) + require.True(t, sess.Fresh()) - utils.AssertEqual(t, "1", sess.Get("id")) - utils.AssertEqual(t, "john", sess.Get("name")) + require.Equal(t, "1", sess.Get("id")) + require.Equal(t, "john", sess.Get("name")) } // go test -run Test_Session_Deletes_Single_Key @@ -414,21 +414,21 @@ func Test_Session_Deletes_Single_Key(t *testing.T) { ctx := app.NewCtx(&fasthttp.RequestCtx{}) sess, err := store.Get(ctx) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) ctx.Request().Header.SetCookie(store.sessionName, sess.ID()) sess.Set("id", "1") - utils.AssertEqual(t, nil, sess.Save()) + require.Nil(t, sess.Save()) sess, err = store.Get(ctx) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) sess.Delete("id") - utils.AssertEqual(t, nil, sess.Save()) + require.Nil(t, sess.Save()) sess, err = store.Get(ctx) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, false, sess.Fresh()) - utils.AssertEqual(t, nil, sess.Get("id")) + require.NoError(t, err) + require.False(t, sess.Fresh()) + require.Nil(t, sess.Get("id")) } // go test -run Test_Session_Regenerate @@ -446,29 +446,29 @@ func Test_Session_Regenerate(t *testing.T) { // now the session is in the storage freshSession, err := store.Get(ctx) - utils.AssertEqual(t, nil, err) + require.NoError(t, err) originalSessionUUIDString = freshSession.ID() err = freshSession.Save() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) // set cookie ctx.Request().Header.SetCookie(store.sessionName, originalSessionUUIDString) // as the session is in the storage, session.fresh should be false acquiredSession, err := store.Get(ctx) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, false, acquiredSession.Fresh()) + require.NoError(t, err) + require.False(t, acquiredSession.Fresh()) err = acquiredSession.Regenerate() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) if acquiredSession.ID() == originalSessionUUIDString { t.Fatal("regenerate should generate another different id") } // acquiredSession.fresh should be true after regenerating - utils.AssertEqual(t, true, acquiredSession.Fresh()) + require.True(t, acquiredSession.Fresh()) }) } diff --git a/middleware/session/store_test.go b/middleware/session/store_test.go index c72d0891..b579e593 100644 --- a/middleware/session/store_test.go +++ b/middleware/session/store_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/gofiber/fiber/v3" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -25,7 +25,7 @@ func TestStore_getSessionID(t *testing.T) { // set cookie ctx.Request().Header.SetCookie(store.sessionName, expectedID) - utils.AssertEqual(t, expectedID, store.getSessionID(ctx)) + require.Equal(t, expectedID, store.getSessionID(ctx)) }) t.Run("from header", func(t *testing.T) { @@ -39,7 +39,7 @@ func TestStore_getSessionID(t *testing.T) { // set header ctx.Request().Header.Set(store.sessionName, expectedID) - utils.AssertEqual(t, expectedID, store.getSessionID(ctx)) + require.Equal(t, expectedID, store.getSessionID(ctx)) }) t.Run("from url query", func(t *testing.T) { @@ -53,7 +53,7 @@ func TestStore_getSessionID(t *testing.T) { // set url parameter ctx.Request().SetRequestURI(fmt.Sprintf("/path?%s=%s", store.sessionName, expectedID)) - utils.AssertEqual(t, expectedID, store.getSessionID(ctx)) + require.Equal(t, expectedID, store.getSessionID(ctx)) }) } @@ -73,7 +73,7 @@ func TestStore_Get(t *testing.T) { ctx.Request().Header.SetCookie(store.sessionName, unexpectedID) acquiredSession, err := store.Get(ctx) - utils.AssertEqual(t, err, nil) + require.NoError(t, err) if acquiredSession.ID() != unexpectedID { t.Fatal("server should not accept the unexpectedID which is not in the store") diff --git a/middleware/skip/skip_test.go b/middleware/skip/skip_test.go index b8598bbf..4373e18e 100644 --- a/middleware/skip/skip_test.go +++ b/middleware/skip/skip_test.go @@ -6,7 +6,7 @@ import ( "github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3/middleware/skip" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) // go test -run Test_Skip @@ -17,8 +17,8 @@ func Test_Skip(t *testing.T) { app.Get("/", helloWorldHandler) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusOK, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusOK, resp.StatusCode) } // go test -run Test_SkipFalse @@ -29,8 +29,8 @@ func Test_SkipFalse(t *testing.T) { app.Get("/", helloWorldHandler) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusTeapot, resp.StatusCode) } // go test -run Test_SkipNilFunc @@ -41,8 +41,8 @@ func Test_SkipNilFunc(t *testing.T) { app.Get("/", helloWorldHandler) resp, err := app.Test(httptest.NewRequest("GET", "/", nil)) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode) + require.NoError(t, err) + require.Equal(t, fiber.StatusTeapot, resp.StatusCode) } func helloWorldHandler(c fiber.Ctx) error { diff --git a/path_test.go b/path_test.go index d60308b9..455e97fa 100644 --- a/path_test.go +++ b/path_test.go @@ -8,7 +8,7 @@ import ( "fmt" "testing" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) // go test -race -run Test_Path_parseRoute @@ -16,7 +16,7 @@ func Test_Path_parseRoute(t *testing.T) { var rp routeParser rp = parseRoute("/shop/product/::filter/color::color/size::size") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/shop/product/:", Length: 15}, {IsParam: true, ParamName: "filter", ComparePart: "/color:", PartCount: 1}, @@ -29,7 +29,7 @@ func Test_Path_parseRoute(t *testing.T) { }, rp) rp = parseRoute("/api/v1/:param/abc/*") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/api/v1/", Length: 8}, {IsParam: true, ParamName: "param", ComparePart: "/abc", PartCount: 1}, @@ -41,7 +41,7 @@ func Test_Path_parseRoute(t *testing.T) { }, rp) rp = parseRoute("/v1/some/resource/name\\:customVerb") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/v1/some/resource/name:customVerb", Length: 33, IsLast: true}, }, @@ -49,7 +49,7 @@ func Test_Path_parseRoute(t *testing.T) { }, rp) rp = parseRoute("/v1/some/resource/:name\\:customVerb") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/v1/some/resource/", Length: 18}, {IsParam: true, ParamName: "name", ComparePart: ":customVerb", PartCount: 1}, @@ -60,7 +60,7 @@ func Test_Path_parseRoute(t *testing.T) { // heavy test with escaped charaters rp = parseRoute("/v1/some/resource/name\\\\:customVerb?\\?/:param/*") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/v1/some/resource/name:customVerb??/", Length: 36}, {IsParam: true, ParamName: "param", ComparePart: "/", PartCount: 1}, @@ -72,7 +72,7 @@ func Test_Path_parseRoute(t *testing.T) { }, rp) rp = parseRoute("/api/*/:param/:param2") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/api/", Length: 5, HasOptionalSlash: true}, {IsParam: true, ParamName: "*1", IsGreedy: true, IsOptional: true, ComparePart: "/", PartCount: 2}, @@ -86,7 +86,7 @@ func Test_Path_parseRoute(t *testing.T) { }, rp) rp = parseRoute("/test:optional?:optional2?") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/test", Length: 5}, {IsParam: true, ParamName: "optional", IsOptional: true, Length: 1}, @@ -96,7 +96,7 @@ func Test_Path_parseRoute(t *testing.T) { }, rp) rp = parseRoute("/config/+.json") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/config/", Length: 8}, {IsParam: true, ParamName: "+1", IsGreedy: true, IsOptional: false, ComparePart: ".json", PartCount: 1}, @@ -107,7 +107,7 @@ func Test_Path_parseRoute(t *testing.T) { }, rp) rp = parseRoute("/api/:day.:month?.:year?") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/api/", Length: 5}, {IsParam: true, ParamName: "day", IsOptional: false, ComparePart: ".", PartCount: 2}, @@ -120,7 +120,7 @@ func Test_Path_parseRoute(t *testing.T) { }, rp) rp = parseRoute("/*v1*/proxy") - utils.AssertEqual(t, routeParser{ + require.Equal(t, routeParser{ segs: []*routeSegment{ {Const: "/", Length: 1, HasOptionalSlash: true}, {IsParam: true, ParamName: "*1", IsGreedy: true, IsOptional: true, ComparePart: "v1", PartCount: 1}, @@ -131,6 +131,7 @@ func Test_Path_parseRoute(t *testing.T) { params: []string{"*1", "*2"}, wildCardCount: 2, }, rp) + } // go test -race -run Test_Path_matchParams @@ -147,9 +148,9 @@ func Test_Path_matchParams(t *testing.T) { parser := parseRoute(r) for _, c := range cases { match := parser.getMatch(c.url, c.url, &ctxParams, c.partialCheck) - utils.AssertEqual(t, c.match, match, fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) + require.Equal(t, c.match, match, fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) if match && len(c.params) > 0 { - utils.AssertEqual(t, c.params[0:len(c.params)], ctxParams[0:len(c.params)], fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) + require.Equal(t, c.params[0:len(c.params)], ctxParams[0:len(c.params)], fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) } } } @@ -554,25 +555,25 @@ func Test_Path_matchParams(t *testing.T) { func Test_Utils_GetTrimmedParam(t *testing.T) { t.Parallel() res := GetTrimmedParam("") - utils.AssertEqual(t, "", res) + require.Equal(t, "", res) res = GetTrimmedParam("*") - utils.AssertEqual(t, "*", res) + require.Equal(t, "*", res) res = GetTrimmedParam(":param") - utils.AssertEqual(t, "param", res) + require.Equal(t, "param", res) res = GetTrimmedParam(":param1?") - utils.AssertEqual(t, "param1", res) + require.Equal(t, "param1", res) res = GetTrimmedParam("noParam") - utils.AssertEqual(t, "noParam", res) + require.Equal(t, "noParam", res) } func Test_Utils_RemoveEscapeChar(t *testing.T) { t.Parallel() res := RemoveEscapeChar(":test\\:bla") - utils.AssertEqual(t, ":test:bla", res) + require.Equal(t, ":test:bla", res) res = RemoveEscapeChar("\\abc") - utils.AssertEqual(t, "abc", res) + require.Equal(t, "abc", res) res = RemoveEscapeChar("noEscapeChar") - utils.AssertEqual(t, "noEscapeChar", res) + require.Equal(t, "noEscapeChar", res) } // go test -race -run Test_Path_matchParams @@ -599,9 +600,9 @@ func Benchmark_Path_matchParams(t *testing.B) { matchRes = true } } - utils.AssertEqual(t, c.match, matchRes, fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) + require.Equal(t, c.match, matchRes, fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) if matchRes && len(c.params) > 0 { - utils.AssertEqual(t, c.params[0:len(c.params)-1], ctxParams[0:len(c.params)-1], fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) + require.Equal(t, c.params[0:len(c.params)-1], ctxParams[0:len(c.params)-1], fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) } }) @@ -770,9 +771,9 @@ func Test_Path_matchParams0(t *testing.T) { parser := parseRoute(r) for _, c := range cases { match := parser.getMatch(c.url, c.url, &ctxParams, c.partialCheck) - utils.AssertEqual(t, c.match, match, fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) + require.Equal(t, c.match, match, fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) if match && len(c.params) > 0 { - utils.AssertEqual(t, c.params[0:len(c.params)], ctxParams[0:len(c.params)], fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) + require.Equal(t, c.params[0:len(c.params)], ctxParams[0:len(c.params)], fmt.Sprintf("route: '%s', url: '%s'", r, c.url)) } } } diff --git a/prefork_test.go b/prefork_test.go index f318ac37..f6c04b9b 100644 --- a/prefork_test.go +++ b/prefork_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" ) func Test_App_Prefork_Child_Process(t *testing.T) { @@ -24,28 +24,28 @@ func Test_App_Prefork_Child_Process(t *testing.T) { app := New() err := app.prefork(NetworkTCP4, "invalid", nil) - utils.AssertEqual(t, false, err == nil) + require.False(t, err == nil) go func() { time.Sleep(1000 * time.Millisecond) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.prefork(NetworkTCP6, "[::1]:", nil)) + require.Nil(t, app.prefork(NetworkTCP6, "[::1]:", nil)) // Create tls certificate cer, err := tls.LoadX509KeyPair("./.github/testdata/ssl.pem", "./.github/testdata/ssl.key") if err != nil { - utils.AssertEqual(t, nil, err) + require.NoError(t, err) } config := &tls.Config{Certificates: []tls.Certificate{cer}} go func() { time.Sleep(1000 * time.Millisecond) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.prefork(NetworkTCP4, "127.0.0.1:", config)) + require.Nil(t, app.prefork(NetworkTCP4, "127.0.0.1:", config)) } func Test_App_Prefork_Master_Process(t *testing.T) { @@ -56,15 +56,15 @@ func Test_App_Prefork_Master_Process(t *testing.T) { go func() { time.Sleep(1000 * time.Millisecond) - utils.AssertEqual(t, nil, app.Shutdown()) + require.Nil(t, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.prefork(NetworkTCP4, ":3000", nil)) + require.Nil(t, app.prefork(NetworkTCP4, ":3000", nil)) dummyChildCmd = "invalid" err := app.prefork(NetworkTCP4, "127.0.0.1:", nil) - utils.AssertEqual(t, false, err == nil) + require.False(t, err == nil) } func Test_App_Prefork_Child_Process_Never_Show_Startup_Message(t *testing.T) { @@ -75,27 +75,27 @@ func Test_App_Prefork_Child_Process_Never_Show_Startup_Message(t *testing.T) { defer func() { os.Stdout = rescueStdout }() r, w, err := os.Pipe() - utils.AssertEqual(t, nil, err) + require.NoError(t, err) os.Stdout = w New().startupProcess().startupMessage(":3000", false, "") - utils.AssertEqual(t, nil, w.Close()) + require.Nil(t, w.Close()) out, err := io.ReadAll(r) - utils.AssertEqual(t, nil, err) - utils.AssertEqual(t, 0, len(out)) + require.NoError(t, err) + require.Equal(t, 0, len(out)) } func setupIsChild(t *testing.T) { t.Helper() - utils.AssertEqual(t, nil, os.Setenv(envPreforkChildKey, envPreforkChildVal)) + require.Nil(t, os.Setenv(envPreforkChildKey, envPreforkChildVal)) } func teardownIsChild(t *testing.T) { t.Helper() - utils.AssertEqual(t, nil, os.Setenv(envPreforkChildKey, "")) + require.Nil(t, os.Setenv(envPreforkChildKey, "")) } diff --git a/router_test.go b/router_test.go index 7d56072d..6a53e34e 100644 --- a/router_test.go +++ b/router_test.go @@ -17,6 +17,7 @@ import ( "testing" "github.com/gofiber/fiber/v3/utils" + "github.com/stretchr/testify/require" "github.com/valyala/fasthttp" ) @@ -40,21 +41,21 @@ func Test_Route_Match_SameLength(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/:param", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, ":param", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, ":param", app.getString(body)) // with param resp, err = app.Test(httptest.NewRequest(MethodGet, "/test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "test", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "test", app.getString(body)) } func Test_Route_Match_Star(t *testing.T) { @@ -65,21 +66,21 @@ func Test_Route_Match_Star(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/*", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "*", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "*", app.getString(body)) // with param resp, err = app.Test(httptest.NewRequest(MethodGet, "/test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "test", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "test", app.getString(body)) // without parameter route := Route{ @@ -89,18 +90,18 @@ func Test_Route_Match_Star(t *testing.T) { } params := [maxParams]string{} match := route.match("", "", ¶ms) - utils.AssertEqual(t, true, match) - utils.AssertEqual(t, [maxParams]string{}, params) + require.True(t, match) + require.Equal(t, [maxParams]string{}, params) // with parameter match = route.match("/favicon.ico", "/favicon.ico", ¶ms) - utils.AssertEqual(t, true, match) - utils.AssertEqual(t, [maxParams]string{"favicon.ico"}, params) + require.True(t, match) + require.Equal(t, [maxParams]string{"favicon.ico"}, params) // without parameter again match = route.match("", "", ¶ms) - utils.AssertEqual(t, true, match) - utils.AssertEqual(t, [maxParams]string{}, params) + require.True(t, match) + require.Equal(t, [maxParams]string{}, params) } func Test_Route_Match_Root(t *testing.T) { @@ -111,12 +112,12 @@ func Test_Route_Match_Root(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "root", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "root", app.getString(body)) } func Test_Route_Match_Parser(t *testing.T) { @@ -129,21 +130,21 @@ func Test_Route_Match_Parser(t *testing.T) { return c.SendString(c.Params("*")) }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/foo/bar", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "bar", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "bar", app.getString(body)) // with star resp, err = app.Test(httptest.NewRequest(MethodGet, "/Foobar/test", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "test", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "test", app.getString(body)) } func Test_Route_Match_Middleware(t *testing.T) { @@ -154,21 +155,21 @@ func Test_Route_Match_Middleware(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/foo/*", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "*", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "*", app.getString(body)) // with param resp, err = app.Test(httptest.NewRequest(MethodGet, "/foo/bar/fasel", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "bar/fasel", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "bar/fasel", app.getString(body)) } func Test_Route_Match_UnescapedPath(t *testing.T) { @@ -179,22 +180,22 @@ func Test_Route_Match_UnescapedPath(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/cr%C3%A9er", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "test", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "test", app.getString(body)) // without special chars resp, err = app.Test(httptest.NewRequest(MethodGet, "/créer", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") // check deactivated behavior app.config.UnescapePath = false resp, err = app.Test(httptest.NewRequest(MethodGet, "/cr%C3%A9er", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusNotFound, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusNotFound, resp.StatusCode, "Status code") } func Test_Route_Match_WithEscapeChar(t *testing.T) { @@ -215,30 +216,30 @@ func Test_Route_Match_WithEscapeChar(t *testing.T) { // check static route resp, err := app.Test(httptest.NewRequest(MethodGet, "/v1/some/resource/name:customVerb", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "static", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "static", app.getString(body)) // check group route resp, err = app.Test(httptest.NewRequest(MethodGet, "/v2/:firstVerb/:customVerb", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "group", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "group", app.getString(body)) // check param route resp, err = app.Test(httptest.NewRequest(MethodGet, "/v3/awesome/name:customVerb", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, StatusOK, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "awesome", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "awesome", app.getString(body)) } func Test_Route_Match_Middleware_HasPrefix(t *testing.T) { @@ -249,12 +250,12 @@ func Test_Route_Match_Middleware_HasPrefix(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/foo/bar", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "middleware", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "middleware", app.getString(body)) } func Test_Route_Match_Middleware_Root(t *testing.T) { @@ -265,19 +266,19 @@ func Test_Route_Match_Middleware_Root(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/everything", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, "middleware", app.getString(body)) + require.NoError(t, err, "app.Test(req)") + require.Equal(t, "middleware", app.getString(body)) } func Test_Router_Register_Missing_Handler(t *testing.T) { app := New() defer func() { if err := recover(); err != nil { - utils.AssertEqual(t, "missing handler in route: /doe\n", fmt.Sprintf("%v", err)) + require.Equal(t, "missing handler in route: /doe\n", fmt.Sprintf("%v", err)) } }() app.register("USE", "/doe") @@ -286,11 +287,11 @@ func Test_Router_Register_Missing_Handler(t *testing.T) { func Test_Ensure_Router_Interface_Implementation(t *testing.T) { var app any = (*App)(nil) _, ok := app.(Router) - utils.AssertEqual(t, true, ok) + require.True(t, ok) var group any = (*Group)(nil) _, ok = group.(Router) - utils.AssertEqual(t, true, ok) + require.True(t, ok) } func Test_Router_Handler_Catch_Error(t *testing.T) { @@ -307,7 +308,7 @@ func Test_Router_Handler_Catch_Error(t *testing.T) { app.Handler()(c) - utils.AssertEqual(t, StatusInternalServerError, c.Response.Header.StatusCode()) + require.Equal(t, StatusInternalServerError, c.Response.Header.StatusCode()) } func Test_Route_Static_Root(t *testing.T) { @@ -318,31 +319,31 @@ func Test_Route_Static_Root(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/style.css", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color")) + require.NoError(t, err, "app.Test(req)") + require.True(t, strings.Contains(app.getString(body), "color")) app = New() app.Static("/", dir) resp, err = app.Test(httptest.NewRequest(MethodGet, "/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 404, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 404, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/style.css", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color")) + require.NoError(t, err, "app.Test(req)") + require.True(t, strings.Contains(app.getString(body), "color")) } func Test_Route_Static_HasPrefix(t *testing.T) { @@ -353,20 +354,20 @@ func Test_Route_Static_HasPrefix(t *testing.T) { }) resp, err := app.Test(httptest.NewRequest(MethodGet, "/static", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/static/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/static/style.css", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err := io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color")) + require.NoError(t, err, "app.Test(req)") + require.True(t, strings.Contains(app.getString(body), "color")) app = New() app.Static("/static/", dir, Static{ @@ -374,58 +375,58 @@ func Test_Route_Static_HasPrefix(t *testing.T) { }) resp, err = app.Test(httptest.NewRequest(MethodGet, "/static", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/static/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/static/style.css", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color")) + require.NoError(t, err, "app.Test(req)") + require.True(t, strings.Contains(app.getString(body), "color")) app = New() app.Static("/static", dir) resp, err = app.Test(httptest.NewRequest(MethodGet, "/static", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 404, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 404, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/static/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 404, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 404, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/static/style.css", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color")) + require.NoError(t, err, "app.Test(req)") + require.True(t, strings.Contains(app.getString(body), "color")) app = New() app.Static("/static/", dir) resp, err = app.Test(httptest.NewRequest(MethodGet, "/static", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 404, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 404, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/static/", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 404, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 404, resp.StatusCode, "Status code") resp, err = app.Test(httptest.NewRequest(MethodGet, "/static/style.css", nil)) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, 200, resp.StatusCode, "Status code") + require.NoError(t, err, "app.Test(req)") + require.Equal(t, 200, resp.StatusCode, "Status code") body, err = io.ReadAll(resp.Body) - utils.AssertEqual(t, nil, err, "app.Test(req)") - utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color")) + require.NoError(t, err, "app.Test(req)") + require.True(t, strings.Contains(app.getString(body), "color")) } ////////////////////////////////////////////// @@ -460,9 +461,9 @@ func Benchmark_App_MethodNotAllowed(b *testing.B) { appHandler(c) } b.StopTimer() - utils.AssertEqual(b, 405, c.Response.StatusCode()) - utils.AssertEqual(b, "GET, HEAD", string(c.Response.Header.Peek("Allow"))) - utils.AssertEqual(b, utils.StatusMessage(StatusMethodNotAllowed), string(c.Response.Body())) + require.Equal(b, 405, c.Response.StatusCode()) + require.Equal(b, "GET, HEAD", string(c.Response.Header.Peek("Allow"))) + require.Equal(b, utils.StatusMessage(StatusMethodNotAllowed), string(c.Response.Body())) } // go test -v ./... -run=^$ -bench=Benchmark_Router_NotFound -benchmem -count=4 @@ -482,8 +483,8 @@ func Benchmark_Router_NotFound(b *testing.B) { for n := 0; n < b.N; n++ { appHandler(c) } - utils.AssertEqual(b, 404, c.Response.StatusCode()) - utils.AssertEqual(b, "Cannot DELETE /this/route/does/not/exist", string(c.Response.Body())) + require.Equal(b, 404, c.Response.StatusCode()) + require.Equal(b, "Cannot DELETE /this/route/does/not/exist", string(c.Response.Body())) } // go test -v ./... -run=^$ -bench=Benchmark_Router_Handler -benchmem -count=4 @@ -597,9 +598,9 @@ func Benchmark_Router_Next(b *testing.B) { c.indexRoute = -1 res, err = app.next(c, false) } - utils.AssertEqual(b, nil, err) - utils.AssertEqual(b, true, res) - utils.AssertEqual(b, 4, c.indexRoute) + require.NoError(b, err) + require.True(b, res) + require.Equal(b, 4, c.indexRoute) } // go test -v ./... -run=^$ -bench=Benchmark_Route_Match -benchmem -count=4 @@ -627,8 +628,8 @@ func Benchmark_Route_Match(b *testing.B) { match = route.match("/user/keys/1337", "/user/keys/1337", ¶ms) } - utils.AssertEqual(b, true, match) - utils.AssertEqual(b, []string{"1337"}, params[0:len(parsed.params)]) + require.True(b, match) + require.Equal(b, []string{"1337"}, params[0:len(parsed.params)]) } // go test -v ./... -run=^$ -bench=Benchmark_Route_Match_Star -benchmem -count=4 @@ -657,8 +658,8 @@ func Benchmark_Route_Match_Star(b *testing.B) { match = route.match("/user/keys/bla", "/user/keys/bla", ¶ms) } - utils.AssertEqual(b, true, match) - utils.AssertEqual(b, []string{"user/keys/bla"}, params[0:len(parsed.params)]) + require.True(b, match) + require.Equal(b, []string{"user/keys/bla"}, params[0:len(parsed.params)]) } // go test -v ./... -run=^$ -bench=Benchmark_Route_Match_Root -benchmem -count=4 @@ -688,8 +689,8 @@ func Benchmark_Route_Match_Root(b *testing.B) { match = route.match("/", "/", ¶ms) } - utils.AssertEqual(b, true, match) - utils.AssertEqual(b, []string{}, params[0:len(parsed.params)]) + require.True(b, match) + require.Equal(b, []string{}, params[0:len(parsed.params)]) } // go test -v ./... -run=^$ -bench=Benchmark_Router_Handler_CaseSensitive -benchmem -count=4 @@ -778,8 +779,8 @@ func Benchmark_Router_Github_API(b *testing.B) { app.ReleaseCtx(ctx) } - utils.AssertEqual(b, nil, err) - utils.AssertEqual(b, true, match) + require.NoError(b, err) + require.True(b, match) } } diff --git a/utils/assertions.go b/utils/assertions.go deleted file mode 100644 index d124ad9e..00000000 --- a/utils/assertions.go +++ /dev/null @@ -1,67 +0,0 @@ -// ⚡️ Fiber is an Express inspired web framework written in Go with ☕️ -// 🤖 Github Repository: https://github.com/gofiber/fiber -// 📌 API Documentation: https://docs.gofiber.io - -package utils - -import ( - "bytes" - "fmt" - "log" - "path/filepath" - "reflect" - "runtime" - "testing" - "text/tabwriter" -) - -// AssertEqual checks if values are equal -func AssertEqual(tb testing.TB, expected, actual any, description ...string) { - if tb != nil { - tb.Helper() - } - - if reflect.DeepEqual(expected, actual) { - return - } - - aType := "" - bType := "" - - if expected != nil { - aType = reflect.TypeOf(expected).String() - } - if actual != nil { - bType = reflect.TypeOf(actual).String() - } - - testName := "AssertEqual" - if tb != nil { - testName = tb.Name() - } - - _, file, line, _ := runtime.Caller(1) - - var buf bytes.Buffer - w := tabwriter.NewWriter(&buf, 0, 0, 5, ' ', 0) - fmt.Fprintf(w, "\nTest:\t%s", testName) - fmt.Fprintf(w, "\nTrace:\t%s:%d", filepath.Base(file), line) - if len(description) > 0 { - fmt.Fprintf(w, "\nDescription:\t%s", description[0]) - } - fmt.Fprintf(w, "\nExpect:\t%v\t(%s)", expected, aType) - fmt.Fprintf(w, "\nResult:\t%v\t(%s)", actual, bType) - - result := "" - if err := w.Flush(); err != nil { - result = err.Error() - } else { - result = buf.String() - } - - if tb != nil { - tb.Fatal(result) - } else { - log.Fatal(result) - } -} diff --git a/utils/assertions_test.go b/utils/assertions_test.go deleted file mode 100644 index 9b886aae..00000000 --- a/utils/assertions_test.go +++ /dev/null @@ -1,14 +0,0 @@ -// ⚡️ Fiber is an Express inspired web framework written in Go with ☕️ -// 🤖 Github Repository: https://github.com/gofiber/fiber -// 📌 API Documentation: https://docs.gofiber.io - -package utils - -import "testing" - -func Test_AssertEqual(t *testing.T) { - t.Parallel() - AssertEqual(nil, []string{}, []string{}) - AssertEqual(t, []string{}, []string{}) - AssertEqual(t, []byte("aq"), []byte("aq")) -} diff --git a/utils/bytes_test.go b/utils/bytes_test.go index 06ab1c4a..4dd1c5d1 100644 --- a/utils/bytes_test.go +++ b/utils/bytes_test.go @@ -7,15 +7,18 @@ package utils import ( "bytes" "testing" + + "github.com/stretchr/testify/require" ) func Test_ToLowerBytes(t *testing.T) { t.Parallel() - AssertEqual(t, []byte("/my/name/is/:param/*"), ToLowerBytes([]byte("/MY/NAME/IS/:PARAM/*"))) - AssertEqual(t, []byte("/my1/name/is/:param/*"), ToLowerBytes([]byte("/MY1/NAME/IS/:PARAM/*"))) - AssertEqual(t, []byte("/my2/name/is/:param/*"), ToLowerBytes([]byte("/MY2/NAME/IS/:PARAM/*"))) - AssertEqual(t, []byte("/my3/name/is/:param/*"), ToLowerBytes([]byte("/MY3/NAME/IS/:PARAM/*"))) - AssertEqual(t, []byte("/my4/name/is/:param/*"), ToLowerBytes([]byte("/MY4/NAME/IS/:PARAM/*"))) + + require.Equal(t, []byte("/my/name/is/:param/*"), ToLowerBytes([]byte("/MY/NAME/IS/:PARAM/*"))) + require.Equal(t, []byte("/my1/name/is/:param/*"), ToLowerBytes([]byte("/MY1/NAME/IS/:PARAM/*"))) + require.Equal(t, []byte("/my2/name/is/:param/*"), ToLowerBytes([]byte("/MY2/NAME/IS/:PARAM/*"))) + require.Equal(t, []byte("/my3/name/is/:param/*"), ToLowerBytes([]byte("/MY3/NAME/IS/:PARAM/*"))) + require.Equal(t, []byte("/my4/name/is/:param/*"), ToLowerBytes([]byte("/MY4/NAME/IS/:PARAM/*"))) } func Benchmark_ToLowerBytes(b *testing.B) { @@ -26,23 +29,24 @@ func Benchmark_ToLowerBytes(b *testing.B) { for n := 0; n < b.N; n++ { res = ToLowerBytes(path) } - AssertEqual(b, want, res) + require.Equal(b, bytes.Equal(want, res), true) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { res = bytes.ToLower(path) } - AssertEqual(b, want, res) + require.Equal(b, bytes.Equal(want, res), true) }) } func Test_ToUpperBytes(t *testing.T) { t.Parallel() - AssertEqual(t, []byte("/MY/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my/name/is/:param/*"))) - AssertEqual(t, []byte("/MY1/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my1/name/is/:param/*"))) - AssertEqual(t, []byte("/MY2/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my2/name/is/:param/*"))) - AssertEqual(t, []byte("/MY3/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my3/name/is/:param/*"))) - AssertEqual(t, []byte("/MY4/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my4/name/is/:param/*"))) + + require.Equal(t, []byte("/MY/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my/name/is/:param/*"))) + require.Equal(t, []byte("/MY1/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my1/name/is/:param/*"))) + require.Equal(t, []byte("/MY2/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my2/name/is/:param/*"))) + require.Equal(t, []byte("/MY3/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my3/name/is/:param/*"))) + require.Equal(t, []byte("/MY4/NAME/IS/:PARAM/*"), ToUpperBytes([]byte("/my4/name/is/:param/*"))) } func Benchmark_ToUpperBytes(b *testing.B) { @@ -53,12 +57,12 @@ func Benchmark_ToUpperBytes(b *testing.B) { for n := 0; n < b.N; n++ { res = ToUpperBytes(path) } - AssertEqual(b, want, res) + require.Equal(b, want, res) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { res = bytes.ToUpper(path) } - AssertEqual(b, want, res) + require.Equal(b, want, res) }) } diff --git a/utils/byteseq_test.go b/utils/byteseq_test.go index dfd07577..79032924 100644 --- a/utils/byteseq_test.go +++ b/utils/byteseq_test.go @@ -4,6 +4,8 @@ import ( "bytes" "strings" "testing" + + "github.com/stretchr/testify/require" ) func Benchmark_EqualFoldBytes(b *testing.B) { @@ -14,34 +16,16 @@ func Benchmark_EqualFoldBytes(b *testing.B) { for n := 0; n < b.N; n++ { res = EqualFold(left, right) } - AssertEqual(b, true, res) + require.True(b, res) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { res = bytes.EqualFold(left, right) } - AssertEqual(b, true, res) + require.True(b, res) }) } -func Test_EqualFoldBytes(t *testing.T) { - t.Parallel() - res := EqualFold([]byte("/MY/NAME/IS/:PARAM/*"), []byte("/my/name/is/:param/*")) - AssertEqual(t, true, res) - res = EqualFold([]byte("/MY1/NAME/IS/:PARAM/*"), []byte("/MY1/NAME/IS/:PARAM/*")) - AssertEqual(t, true, res) - res = EqualFold([]byte("/my2/name/is/:param/*"), []byte("/my2/name")) - AssertEqual(t, false, res) - res = EqualFold([]byte("/dddddd"), []byte("eeeeee")) - AssertEqual(t, false, res) - res = EqualFold([]byte("\na"), []byte("*A")) - AssertEqual(t, false, res) - res = EqualFold([]byte("/MY3/NAME/IS/:PARAM/*"), []byte("/my3/name/is/:param/*")) - AssertEqual(t, true, res) - res = EqualFold([]byte("/MY4/NAME/IS/:PARAM/*"), []byte("/my4/nAME/IS/:param/*")) - AssertEqual(t, true, res) -} - // go test -v -run=^$ -bench=Benchmark_EqualFold -benchmem -count=4 ./utils/ func Benchmark_EqualFold(b *testing.B) { var res bool @@ -49,13 +33,13 @@ func Benchmark_EqualFold(b *testing.B) { for n := 0; n < b.N; n++ { res = EqualFold(upperStr, lowerStr) } - AssertEqual(b, true, res) + require.True(b, res) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { res = strings.EqualFold(upperStr, lowerStr) } - AssertEqual(b, true, res) + require.True(b, res) }) } @@ -78,9 +62,9 @@ func Test_EqualFold(t *testing.T) { for _, tc := range testCases { res := EqualFold[string](tc.S1, tc.S2) - AssertEqual(t, tc.Expected, res, "string") + require.Equal(t, tc.Expected, res, "string") res = EqualFold[[]byte]([]byte(tc.S1), []byte(tc.S2)) - AssertEqual(t, tc.Expected, res, "bytes") + require.Equal(t, tc.Expected, res, "bytes") } } diff --git a/utils/common_test.go b/utils/common_test.go index bf108d24..4c427df5 100644 --- a/utils/common_test.go +++ b/utils/common_test.go @@ -8,23 +8,25 @@ import ( "crypto/rand" "fmt" "testing" + + "github.com/stretchr/testify/require" ) func Test_FunctionName(t *testing.T) { t.Parallel() - AssertEqual(t, "github.com/gofiber/fiber/v3/utils.Test_UUID", FunctionName(Test_UUID)) + require.Equal(t, "github.com/gofiber/fiber/v3/utils.Test_UUID", FunctionName(Test_UUID)) - AssertEqual(t, "github.com/gofiber/fiber/v3/utils.Test_FunctionName.func1", FunctionName(func() {})) + require.Equal(t, "github.com/gofiber/fiber/v3/utils.Test_FunctionName.func1", FunctionName(func() {})) dummyint := 20 - AssertEqual(t, "int", FunctionName(dummyint)) + require.Equal(t, "int", FunctionName(dummyint)) } func Test_UUID(t *testing.T) { t.Parallel() res := UUID() - AssertEqual(t, 36, len(res)) - AssertEqual(t, true, res != "00000000-0000-0000-0000-000000000000") + require.Equal(t, 36, len(res)) + require.True(t, res != "00000000-0000-0000-0000-000000000000") } func Test_UUID_Concurrency(t *testing.T) { @@ -42,14 +44,14 @@ func Test_UUID_Concurrency(t *testing.T) { res = <-ch results[res] = res } - AssertEqual(t, iterations, len(results)) + require.Equal(t, iterations, len(results)) } func Test_UUIDv4(t *testing.T) { t.Parallel() res := UUIDv4() - AssertEqual(t, 36, len(res)) - AssertEqual(t, true, res != "00000000-0000-0000-0000-000000000000") + require.Equal(t, 36, len(res)) + require.True(t, res != "00000000-0000-0000-0000-000000000000") } func Test_UUIDv4_Concurrency(t *testing.T) { @@ -67,7 +69,7 @@ func Test_UUIDv4_Concurrency(t *testing.T) { res = <-ch results[res] = res } - AssertEqual(t, iterations, len(results)) + require.Equal(t, iterations, len(results)) } // go test -v -run=^$ -bench=Benchmark_UUID -benchmem -count=2 @@ -78,7 +80,7 @@ func Benchmark_UUID(b *testing.B) { for n := 0; n < b.N; n++ { res = UUID() } - AssertEqual(b, 36, len(res)) + require.Equal(b, 36, len(res)) }) b.Run("default", func(b *testing.B) { rnd := make([]byte, 16) @@ -86,32 +88,32 @@ func Benchmark_UUID(b *testing.B) { for n := 0; n < b.N; n++ { res = fmt.Sprintf("%x-%x-%x-%x-%x", rnd[0:4], rnd[4:6], rnd[6:8], rnd[8:10], rnd[10:]) } - AssertEqual(b, 36, len(res)) + require.Equal(b, 36, len(res)) }) } func Test_ConvertToBytes(t *testing.T) { t.Parallel() - AssertEqual(t, 0, ConvertToBytes("")) - AssertEqual(t, 42, ConvertToBytes("42")) - AssertEqual(t, 42, ConvertToBytes("42b")) - AssertEqual(t, 42, ConvertToBytes("42B")) - AssertEqual(t, 42, ConvertToBytes("42 b")) - AssertEqual(t, 42, ConvertToBytes("42 B")) + require.Equal(t, 0, ConvertToBytes("")) + require.Equal(t, 42, ConvertToBytes("42")) + require.Equal(t, 42, ConvertToBytes("42b")) + require.Equal(t, 42, ConvertToBytes("42B")) + require.Equal(t, 42, ConvertToBytes("42 b")) + require.Equal(t, 42, ConvertToBytes("42 B")) - AssertEqual(t, 42*1000, ConvertToBytes("42k")) - AssertEqual(t, 42*1000, ConvertToBytes("42K")) - AssertEqual(t, 42*1000, ConvertToBytes("42kb")) - AssertEqual(t, 42*1000, ConvertToBytes("42KB")) - AssertEqual(t, 42*1000, ConvertToBytes("42 kb")) - AssertEqual(t, 42*1000, ConvertToBytes("42 KB")) + require.Equal(t, 42*1000, ConvertToBytes("42k")) + require.Equal(t, 42*1000, ConvertToBytes("42K")) + require.Equal(t, 42*1000, ConvertToBytes("42kb")) + require.Equal(t, 42*1000, ConvertToBytes("42KB")) + require.Equal(t, 42*1000, ConvertToBytes("42 kb")) + require.Equal(t, 42*1000, ConvertToBytes("42 KB")) - AssertEqual(t, 42*1000000, ConvertToBytes("42M")) - AssertEqual(t, int(42.5*1000000), ConvertToBytes("42.5MB")) - AssertEqual(t, 42*1000000000, ConvertToBytes("42G")) + require.Equal(t, 42*1000000, ConvertToBytes("42M")) + require.Equal(t, int(42.5*1000000), ConvertToBytes("42.5MB")) + require.Equal(t, 42*1000000000, ConvertToBytes("42G")) - AssertEqual(t, 0, ConvertToBytes("string")) - AssertEqual(t, 0, ConvertToBytes("MB")) + require.Equal(t, 0, ConvertToBytes("string")) + require.Equal(t, 0, ConvertToBytes("MB")) } // go test -v -run=^$ -bench=Benchmark_ConvertToBytes -benchmem -count=2 @@ -121,6 +123,6 @@ func Benchmark_ConvertToBytes(b *testing.B) { for n := 0; n < b.N; n++ { res = ConvertToBytes("42B") } - AssertEqual(b, 42, res) + require.Equal(b, 42, res) }) } diff --git a/utils/convert_test.go b/utils/convert_test.go index 59ce625e..722d53f1 100644 --- a/utils/convert_test.go +++ b/utils/convert_test.go @@ -4,12 +4,16 @@ package utils -import "testing" +import ( + "testing" + + "github.com/stretchr/testify/require" +) func Test_UnsafeString(t *testing.T) { t.Parallel() res := UnsafeString([]byte("Hello, World!")) - AssertEqual(t, "Hello, World!", res) + require.Equal(t, "Hello, World!", res) } // go test -v -run=^$ -bench=UnsafeString -benchmem -count=2 @@ -21,20 +25,20 @@ func Benchmark_UnsafeString(b *testing.B) { for n := 0; n < b.N; n++ { res = UnsafeString(hello) } - AssertEqual(b, "Hello, World!", res) + require.Equal(b, "Hello, World!", res) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { res = string(hello) } - AssertEqual(b, "Hello, World!", res) + require.Equal(b, "Hello, World!", res) }) } func Test_UnsafeBytes(t *testing.T) { t.Parallel() res := UnsafeBytes("Hello, World!") - AssertEqual(t, []byte("Hello, World!"), res) + require.Equal(t, []byte("Hello, World!"), res) } // go test -v -run=^$ -bench=UnsafeBytes -benchmem -count=4 @@ -46,30 +50,30 @@ func Benchmark_UnsafeBytes(b *testing.B) { for n := 0; n < b.N; n++ { res = UnsafeBytes(hello) } - AssertEqual(b, []byte("Hello, World!"), res) + require.Equal(b, []byte("Hello, World!"), res) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { res = []byte(hello) } - AssertEqual(b, []byte("Hello, World!"), res) + require.Equal(b, []byte("Hello, World!"), res) }) } func Test_CopyString(t *testing.T) { t.Parallel() res := CopyString("Hello, World!") - AssertEqual(t, "Hello, World!", res) + require.Equal(t, "Hello, World!", res) } func Test_ToString(t *testing.T) { t.Parallel() res := ToString([]byte("Hello, World!")) - AssertEqual(t, "Hello, World!", res) + require.Equal(t, "Hello, World!", res) res = ToString(true) - AssertEqual(t, "true", res) + require.Equal(t, "true", res) res = ToString(uint(100)) - AssertEqual(t, "100", res) + require.Equal(t, "100", res) } // go test -v -run=^$ -bench=ToString -benchmem -count=2 diff --git a/utils/http_test.go b/utils/http_test.go index 2abe6c51..e06e8905 100644 --- a/utils/http_test.go +++ b/utils/http_test.go @@ -8,24 +8,26 @@ import ( "mime" "net/http" "testing" + + "github.com/stretchr/testify/require" ) func Test_GetMIME(t *testing.T) { t.Parallel() res := GetMIME(".json") - AssertEqual(t, "application/json", res) + require.Equal(t, "application/json", res) res = GetMIME(".xml") - AssertEqual(t, "application/xml", res) + require.Equal(t, "application/xml", res) res = GetMIME("xml") - AssertEqual(t, "application/xml", res) + require.Equal(t, "application/xml", res) res = GetMIME("unknown") - AssertEqual(t, MIMEOctetStream, res) + require.Equal(t, MIMEOctetStream, res) // empty case res = GetMIME("") - AssertEqual(t, "", res) + require.Equal(t, "", res) } // go test -v -run=^$ -bench=Benchmark_GetMIME -benchmem -count=2 @@ -39,7 +41,7 @@ func Benchmark_GetMIME(b *testing.B) { res = GetMIME(".exe") res = GetMIME(".json") } - AssertEqual(b, "application/json", res) + require.Equal(b, "application/json", res) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { @@ -49,7 +51,7 @@ func Benchmark_GetMIME(b *testing.B) { res = mime.TypeByExtension(".exe") res = mime.TypeByExtension(".json") } - AssertEqual(b, "application/json", res) + require.Equal(b, "application/json", res) }) } @@ -57,25 +59,25 @@ func Test_ParseVendorSpecificContentType(t *testing.T) { t.Parallel() cType := ParseVendorSpecificContentType("application/json") - AssertEqual(t, "application/json", cType) + require.Equal(t, "application/json", cType) cType = ParseVendorSpecificContentType("multipart/form-data; boundary=dart-http-boundary-ZnVy.ICWq+7HOdsHqWxCFa8g3D.KAhy+Y0sYJ_lBADypu8po3_X") - AssertEqual(t, "multipart/form-data", cType) + require.Equal(t, "multipart/form-data", cType) cType = ParseVendorSpecificContentType("multipart/form-data") - AssertEqual(t, "multipart/form-data", cType) + require.Equal(t, "multipart/form-data", cType) cType = ParseVendorSpecificContentType("application/vnd.api+json; version=1") - AssertEqual(t, "application/json", cType) + require.Equal(t, "application/json", cType) cType = ParseVendorSpecificContentType("application/vnd.api+json") - AssertEqual(t, "application/json", cType) + require.Equal(t, "application/json", cType) cType = ParseVendorSpecificContentType("application/vnd.dummy+x-www-form-urlencoded") - AssertEqual(t, "application/x-www-form-urlencoded", cType) + require.Equal(t, "application/x-www-form-urlencoded", cType) cType = ParseVendorSpecificContentType("something invalid") - AssertEqual(t, "something invalid", cType) + require.Equal(t, "something invalid", cType) } func Benchmark_ParseVendorSpecificContentType(b *testing.B) { @@ -84,42 +86,42 @@ func Benchmark_ParseVendorSpecificContentType(b *testing.B) { for n := 0; n < b.N; n++ { cType = ParseVendorSpecificContentType("application/vnd.api+json; version=1") } - AssertEqual(b, "application/json", cType) + require.Equal(b, "application/json", cType) }) b.Run("defaultContentType", func(b *testing.B) { for n := 0; n < b.N; n++ { cType = ParseVendorSpecificContentType("application/json") } - AssertEqual(b, "application/json", cType) + require.Equal(b, "application/json", cType) }) } func Test_StatusMessage(t *testing.T) { t.Parallel() res := StatusMessage(204) - AssertEqual(t, "No Content", res) + require.Equal(t, "No Content", res) res = StatusMessage(404) - AssertEqual(t, "Not Found", res) + require.Equal(t, "Not Found", res) res = StatusMessage(426) - AssertEqual(t, "Upgrade Required", res) + require.Equal(t, "Upgrade Required", res) res = StatusMessage(511) - AssertEqual(t, "Network Authentication Required", res) + require.Equal(t, "Network Authentication Required", res) res = StatusMessage(1337) - AssertEqual(t, "", res) + require.Equal(t, "", res) res = StatusMessage(-1) - AssertEqual(t, "", res) + require.Equal(t, "", res) res = StatusMessage(0) - AssertEqual(t, "", res) + require.Equal(t, "", res) res = StatusMessage(600) - AssertEqual(t, "", res) + require.Equal(t, "", res) } // go test -run=^$ -bench=Benchmark_StatusMessage -benchmem -count=2 @@ -129,12 +131,12 @@ func Benchmark_StatusMessage(b *testing.B) { for n := 0; n < b.N; n++ { res = StatusMessage(http.StatusNotExtended) } - AssertEqual(b, "Not Extended", res) + require.Equal(b, "Not Extended", res) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { res = http.StatusText(http.StatusNotExtended) } - AssertEqual(b, "Not Extended", res) + require.Equal(b, "Not Extended", res) }) } diff --git a/utils/json_test.go b/utils/json_test.go index 1a79e489..3c756aca 100644 --- a/utils/json_test.go +++ b/utils/json_test.go @@ -3,6 +3,8 @@ package utils import ( "encoding/json" "testing" + + "github.com/stretchr/testify/require" ) type sampleStructure struct { @@ -21,9 +23,9 @@ func Test_GolangJSONEncoder(t *testing.T) { ) raw, err := jsonEncoder(ss) - AssertEqual(t, err, nil) + require.NoError(t, err) - AssertEqual(t, string(raw), importantString) + require.Equal(t, string(raw), importantString) } func Test_DefaultJSONEncoder(t *testing.T) { @@ -38,9 +40,9 @@ func Test_DefaultJSONEncoder(t *testing.T) { ) raw, err := jsonEncoder(ss) - AssertEqual(t, err, nil) + require.NoError(t, err) - AssertEqual(t, string(raw), importantString) + require.Equal(t, string(raw), importantString) } func Test_DefaultJSONDecoder(t *testing.T) { @@ -53,6 +55,6 @@ func Test_DefaultJSONDecoder(t *testing.T) { ) err := jsonDecoder(importantString, &ss) - AssertEqual(t, err, nil) - AssertEqual(t, "Hello World", ss.ImportantString) + require.NoError(t, err) + require.Equal(t, "Hello World", ss.ImportantString) } diff --git a/utils/strings_test.go b/utils/strings_test.go index b0d51767..37abc96e 100644 --- a/utils/strings_test.go +++ b/utils/strings_test.go @@ -7,11 +7,13 @@ package utils import ( "strings" "testing" + + "github.com/stretchr/testify/require" ) func Test_ToUpper(t *testing.T) { t.Parallel() - AssertEqual(t, "/MY/NAME/IS/:PARAM/*", ToUpper("/my/name/is/:param/*")) + require.Equal(t, "/MY/NAME/IS/:PARAM/*", ToUpper("/my/name/is/:param/*")) } const ( @@ -26,23 +28,23 @@ func Benchmark_ToUpper(b *testing.B) { for n := 0; n < b.N; n++ { res = ToUpper(largeStr) } - AssertEqual(b, upperStr, res) + require.Equal(b, upperStr, res) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { res = strings.ToUpper(largeStr) } - AssertEqual(b, upperStr, res) + require.Equal(b, upperStr, res) }) } func Test_ToLower(t *testing.T) { t.Parallel() - AssertEqual(t, "/my/name/is/:param/*", ToLower("/MY/NAME/IS/:PARAM/*")) - AssertEqual(t, "/my1/name/is/:param/*", ToLower("/MY1/NAME/IS/:PARAM/*")) - AssertEqual(t, "/my2/name/is/:param/*", ToLower("/MY2/NAME/IS/:PARAM/*")) - AssertEqual(t, "/my3/name/is/:param/*", ToLower("/MY3/NAME/IS/:PARAM/*")) - AssertEqual(t, "/my4/name/is/:param/*", ToLower("/MY4/NAME/IS/:PARAM/*")) + require.Equal(t, "/my/name/is/:param/*", ToLower("/MY/NAME/IS/:PARAM/*")) + require.Equal(t, "/my1/name/is/:param/*", ToLower("/MY1/NAME/IS/:PARAM/*")) + require.Equal(t, "/my2/name/is/:param/*", ToLower("/MY2/NAME/IS/:PARAM/*")) + require.Equal(t, "/my3/name/is/:param/*", ToLower("/MY3/NAME/IS/:PARAM/*")) + require.Equal(t, "/my4/name/is/:param/*", ToLower("/MY4/NAME/IS/:PARAM/*")) } func Benchmark_ToLower(b *testing.B) { @@ -51,12 +53,12 @@ func Benchmark_ToLower(b *testing.B) { for n := 0; n < b.N; n++ { res = ToLower(largeStr) } - AssertEqual(b, lowerStr, res) + require.Equal(b, lowerStr, res) }) b.Run("default", func(b *testing.B) { for n := 0; n < b.N; n++ { res = strings.ToLower(largeStr) } - AssertEqual(b, lowerStr, res) + require.Equal(b, lowerStr, res) }) } diff --git a/utils/xml_test.go b/utils/xml_test.go index bbb11708..e4699e68 100644 --- a/utils/xml_test.go +++ b/utils/xml_test.go @@ -3,6 +3,8 @@ package utils import ( "encoding/xml" "testing" + + "github.com/stretchr/testify/require" ) type serversXMLStructure struct { @@ -33,9 +35,9 @@ func Test_GolangXMLEncoder(t *testing.T) { ) raw, err := xmlEncoder(ss) - AssertEqual(t, err, nil) + require.NoError(t, err) - AssertEqual(t, string(raw), xmlString) + require.Equal(t, string(raw), xmlString) } func Test_DefaultXMLEncoder(t *testing.T) { @@ -53,7 +55,7 @@ func Test_DefaultXMLEncoder(t *testing.T) { ) raw, err := xmlEncoder(ss) - AssertEqual(t, err, nil) + require.NoError(t, err) - AssertEqual(t, string(raw), xmlString) + require.Equal(t, string(raw), xmlString) }