chore: Fix testifylint errors in middleware (#2805)

pull/2806/head
nickajacks1 2024-01-20 23:32:23 -08:00 committed by GitHub
parent 9a56a1bf6d
commit 827013d789
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 154 additions and 157 deletions

View File

@ -47,7 +47,7 @@ func Test_HTTPHandler(t *testing.T) {
require.Equal(t, expectedProtoMinor, r.ProtoMinor, "ProtoMinor")
require.Equal(t, expectedRequestURI, r.RequestURI, "RequestURI")
require.Equal(t, expectedContentLength, int(r.ContentLength), "ContentLength")
require.Equal(t, 0, len(r.TransferEncoding), "TransferEncoding")
require.Empty(t, r.TransferEncoding, "TransferEncoding")
require.Equal(t, expectedHost, r.Host, "Host")
require.Equal(t, expectedRemoteAddr, r.RemoteAddr, "RemoteAddr")
@ -190,8 +190,8 @@ func Test_HTTPMiddleware(t *testing.T) {
resp, err := app.Test(req)
require.NoError(t, err)
require.Equal(t, resp.Header.Get("context_okay"), "okay")
require.Equal(t, resp.Header.Get("context_second_okay"), "okay")
require.Equal(t, "okay", resp.Header.Get("context_okay"))
require.Equal(t, "okay", resp.Header.Get("context_second_okay"))
}
func Test_FiberHandler(t *testing.T) {
@ -390,7 +390,7 @@ func Test_ConvertRequest(t *testing.T) {
})
resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/test?hello=world&another=test", http.NoBody))
require.Equal(t, nil, err, "app.Test(req)")
require.NoError(t, err, "app.Test(req)")
require.Equal(t, http.StatusOK, resp.StatusCode, "Status code")
body, err := io.ReadAll(resp.Body)

View File

@ -467,14 +467,14 @@ func Test_Cache_CustomNext(t *testing.T) {
bodyCached, err := io.ReadAll(respCached.Body)
require.NoError(t, err)
require.True(t, bytes.Equal(body, bodyCached))
require.True(t, respCached.Header.Get(fiber.HeaderCacheControl) != "")
require.NotEmpty(t, respCached.Header.Get(fiber.HeaderCacheControl))
_, err = app.Test(httptest.NewRequest(fiber.MethodGet, "/error", nil))
require.NoError(t, err)
errRespCached, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/error", nil))
require.NoError(t, err)
require.True(t, errRespCached.Header.Get(fiber.HeaderCacheControl) == "")
require.Empty(t, errRespCached.Header.Get(fiber.HeaderCacheControl))
}
func Test_CustomKey(t *testing.T) {
@ -809,7 +809,7 @@ func Benchmark_Cache(b *testing.B) {
}
require.Equal(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode())
require.True(b, len(fctx.Response.Body()) > 30000)
require.Greater(b, len(fctx.Response.Body()), 30000)
}
// go test -v -run=^$ -bench=Benchmark_Cache_Storage -benchmem -count=4
@ -839,7 +839,7 @@ func Benchmark_Cache_Storage(b *testing.B) {
}
require.Equal(b, fiber.StatusTeapot, fctx.Response.Header.StatusCode())
require.True(b, len(fctx.Response.Body()) > 30000)
require.Greater(b, len(fctx.Response.Body()), 30000)
}
func Benchmark_Cache_AdditionalHeaders(b *testing.B) {

View File

@ -45,7 +45,7 @@ func Test_Compress_Gzip(t *testing.T) {
// Validate that the file size has shrunk
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.True(t, len(body) < len(filedata))
require.Less(t, len(body), len(filedata))
}
// go test -run Test_Compress_Different_Level
@ -76,7 +76,7 @@ func Test_Compress_Different_Level(t *testing.T) {
// Validate that the file size has shrunk
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.True(t, len(body) < len(filedata))
require.Less(t, len(body), len(filedata))
})
}
}
@ -102,7 +102,7 @@ func Test_Compress_Deflate(t *testing.T) {
// Validate that the file size has shrunk
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.True(t, len(body) < len(filedata))
require.Less(t, len(body), len(filedata))
}
func Test_Compress_Brotli(t *testing.T) {
@ -126,7 +126,7 @@ func Test_Compress_Brotli(t *testing.T) {
// Validate that the file size has shrunk
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.True(t, len(body) < len(filedata))
require.Less(t, len(body), len(filedata))
}
func Test_Compress_Disabled(t *testing.T) {
@ -150,7 +150,7 @@ func Test_Compress_Disabled(t *testing.T) {
// Validate the file size is not shrunk
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.True(t, len(body) == len(filedata))
require.Equal(t, len(body), len(filedata))
}
func Test_Compress_Next_Error(t *testing.T) {

View File

@ -83,8 +83,8 @@ func Test_CSRF_WithSession(t *testing.T) {
// get session
sess, err := store.Get(app.NewCtx(ctx))
require.Equal(t, nil, err)
require.Equal(t, true, sess.Fresh())
require.NoError(t, err)
require.True(t, sess.Fresh())
// the session string is no longer be 123
newSessionIDString := sess.ID()
@ -216,8 +216,8 @@ func Test_CSRF_ExpiredToken_WithSession(t *testing.T) {
// get session
sess, err := store.Get(app.NewCtx(ctx))
require.Equal(t, nil, err)
require.Equal(t, true, sess.Fresh())
require.NoError(t, err)
require.True(t, sess.Fresh())
// get session id
newSessionIDString := sess.ID()
@ -747,8 +747,8 @@ func Test_CSRF_DeleteToken_WithSession(t *testing.T) {
// get session
sess, err := store.Get(app.NewCtx(ctx))
require.Equal(t, nil, err)
require.Equal(t, true, sess.Fresh())
require.NoError(t, err)
require.True(t, sess.Fresh())
// the session string is no longer be 123
newSessionIDString := sess.ID()

View File

@ -22,10 +22,10 @@ func TestEnvVarStructWithExportVarsExcludeVars(t *testing.T) {
ExcludeVars: map[string]string{"excludeKey": ""},
})
require.Equal(t, vars.Vars["testKey"], "testEnvValue")
require.Equal(t, vars.Vars["testDefaultKey"], "testDefaultVal")
require.Equal(t, vars.Vars["excludeKey"], "")
require.Equal(t, vars.Vars["anotherEnvKey"], "")
require.Equal(t, "testEnvValue", vars.Vars["testKey"])
require.Equal(t, "testDefaultVal", vars.Vars["testDefaultKey"])
require.Equal(t, "", vars.Vars["excludeKey"])
require.Equal(t, "", vars.Vars["anotherEnvKey"])
}
func TestEnvVarHandler(t *testing.T) {
@ -92,7 +92,7 @@ func TestEnvVarHandlerDefaultConfig(t *testing.T) {
require.NoError(t, err)
var envVars EnvVar
require.Equal(t, nil, json.Unmarshal(respBody, &envVars))
require.NoError(t, json.Unmarshal(respBody, &envVars))
val := envVars.Vars["testEnvKey"]
require.Equal(t, "testEnvVal", val)
}
@ -126,7 +126,7 @@ func TestEnvVarHandlerSpecialValue(t *testing.T) {
require.NoError(t, err)
var envVars EnvVar
require.Equal(t, nil, json.Unmarshal(respBody, &envVars))
require.NoError(t, json.Unmarshal(respBody, &envVars))
val := envVars.Vars[testEnvKey]
require.Equal(t, fakeBase64, val)
@ -139,7 +139,7 @@ func TestEnvVarHandlerSpecialValue(t *testing.T) {
require.NoError(t, err)
var envVarsExport EnvVar
require.Equal(t, nil, json.Unmarshal(respBody, &envVarsExport))
require.NoError(t, json.Unmarshal(respBody, &envVarsExport))
val = envVarsExport.Vars[testEnvKey]
require.Equal(t, fakeBase64, val)
}

View File

@ -124,7 +124,7 @@ func testETagNewEtag(t *testing.T, headerIfNoneMatch, matched bool) { //nolint:r
require.Equal(t, fiber.StatusNotModified, resp.StatusCode)
b, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, 0, len(b))
require.Empty(t, b)
}
}
@ -178,7 +178,7 @@ func testETagWeakEtag(t *testing.T, headerIfNoneMatch, matched bool) { //nolint:
require.Equal(t, fiber.StatusNotModified, resp.StatusCode)
b, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, 0, len(b))
require.Empty(t, b)
}
}
@ -236,7 +236,7 @@ func testETagCustomEtag(t *testing.T, headerIfNoneMatch, matched bool) { //nolin
require.Equal(t, fiber.StatusNotModified, resp.StatusCode)
b, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, 0, len(b))
require.Empty(t, b)
}
}

View File

@ -71,7 +71,7 @@ func Test_Middleware_Favicon_Found(t *testing.T) {
})
resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/favicon.ico", nil))
require.NoError(t, nil, err, "app.Test(req)")
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")
@ -92,7 +92,7 @@ func Test_Custom_Favicon_URL(t *testing.T) {
resp, err := app.Test(httptest.NewRequest(http.MethodGet, customURL, nil))
require.Equal(t, nil, err, "app.Test(req)")
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))
}
@ -100,7 +100,7 @@ func Test_Custom_Favicon_URL(t *testing.T) {
// go test -run Test_Custom_Favicon_Data
func Test_Custom_Favicon_Data(t *testing.T) {
data, err := os.ReadFile("../../.github/testdata/favicon.ico")
require.Equal(t, nil, err)
require.NoError(t, err)
app := fiber.New()

View File

@ -162,7 +162,7 @@ func Test_FileSystem_Download(t *testing.T) {
resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/img/fiber.png", nil))
require.NoError(t, err, "app.Test(req)")
require.Equal(t, 200, resp.StatusCode, "Status code")
require.False(t, resp.Header.Get(fiber.HeaderContentLength) == "")
require.NotEmpty(t, resp.Header.Get(fiber.HeaderContentLength))
require.Equal(t, "image/png", resp.Header.Get(fiber.HeaderContentType))
require.Equal(t, "attachment", resp.Header.Get(fiber.HeaderContentDisposition))
}

View File

@ -88,7 +88,7 @@ func TestAuthSources(t *testing.T) {
// construct the test HTTP request
var req *http.Request
req, err := http.NewRequestWithContext(context.Background(), fiber.MethodGet, test.route, nil)
require.Equal(t, err, nil)
require.NoError(t, err)
// setup the apikey for the different auth schemes
if authSource == "header" {
@ -107,7 +107,7 @@ func TestAuthSources(t *testing.T) {
res, err := app.Test(req, -1)
require.Equal(t, nil, err, test.description)
require.NoError(t, err, test.description)
// test the body of the request
body, err := io.ReadAll(res.Body)
@ -121,11 +121,11 @@ func TestAuthSources(t *testing.T) {
require.Equal(t, test.expectedCode, res.StatusCode, test.description)
// body
require.Equal(t, nil, err, test.description)
require.NoError(t, err, test.description)
require.Equal(t, test.expectedBody, string(body), test.description)
err = res.Body.Close()
require.Equal(t, err, nil)
require.NoError(t, err)
}
})
}
@ -243,21 +243,21 @@ func TestMultipleKeyAuth(t *testing.T) {
for _, test := range tests {
var req *http.Request
req, err := http.NewRequestWithContext(context.Background(), fiber.MethodGet, test.route, nil)
require.Equal(t, err, nil)
require.NoError(t, err)
if test.APIKey != "" {
req.Header.Set("key", test.APIKey)
}
res, err := app.Test(req, -1)
require.Equal(t, nil, err, test.description)
require.NoError(t, err, test.description)
// test the body of the request
body, err := io.ReadAll(res.Body)
require.Equal(t, test.expectedCode, res.StatusCode, test.description)
// body
require.Equal(t, nil, err, test.description)
require.NoError(t, err, test.description)
require.Equal(t, test.expectedBody, string(body), test.description)
}
}
@ -288,15 +288,15 @@ func TestCustomSuccessAndFailureHandlers(t *testing.T) {
// Create a request without an API key and send it to the app
res, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", nil))
require.Equal(t, err, nil)
require.NoError(t, err)
// Read the response body into a string
body, err := io.ReadAll(res.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
// Check that the response has the expected status code and body
require.Equal(t, res.StatusCode, http.StatusUnauthorized)
require.Equal(t, string(body), "API key is invalid and request was handled by custom error handler")
require.Equal(t, http.StatusUnauthorized, res.StatusCode)
require.Equal(t, "API key is invalid and request was handled by custom error handler", string(body))
// Create a request with a valid API key in the Authorization header
req := httptest.NewRequest(fiber.MethodGet, "/", nil)
@ -304,15 +304,15 @@ func TestCustomSuccessAndFailureHandlers(t *testing.T) {
// Send the request to the app
res, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
// Read the response body into a string
body, err = io.ReadAll(res.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
// Check that the response has the expected status code and body
require.Equal(t, res.StatusCode, http.StatusOK)
require.Equal(t, string(body), "API key is valid and request was handled by custom success handler")
require.Equal(t, http.StatusOK, res.StatusCode)
require.Equal(t, "API key is valid and request was handled by custom success handler", string(body))
}
func TestCustomNextFunc(t *testing.T) {
@ -338,27 +338,27 @@ func TestCustomNextFunc(t *testing.T) {
// Create a request with the "/allowed" path and send it to the app
req := httptest.NewRequest(fiber.MethodGet, "/allowed", nil)
res, err := app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
// Read the response body into a string
body, err := io.ReadAll(res.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
// Check that the response has the expected status code and body
require.Equal(t, res.StatusCode, http.StatusOK)
require.Equal(t, string(body), "API key is valid and request was allowed by custom filter")
require.Equal(t, http.StatusOK, res.StatusCode)
require.Equal(t, "API key is valid and request was allowed by custom filter", string(body))
// Create a request with a different path and send it to the app without correct key
req = httptest.NewRequest(fiber.MethodGet, "/not-allowed", nil)
res, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
// Read the response body into a string
body, err = io.ReadAll(res.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
// Check that the response has the expected status code and body
require.Equal(t, res.StatusCode, http.StatusUnauthorized)
require.Equal(t, http.StatusUnauthorized, res.StatusCode)
require.Equal(t, string(body), ErrMissingOrMalformedAPIKey.Error())
// Create a request with a different path and send it to the app with correct key
@ -366,14 +366,14 @@ func TestCustomNextFunc(t *testing.T) {
req.Header.Add("Authorization", fmt.Sprintf("Basic %s", CorrectKey))
res, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
// Read the response body into a string
body, err = io.ReadAll(res.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
// Check that the response has the expected status code and body
require.Equal(t, res.StatusCode, http.StatusUnauthorized)
require.Equal(t, http.StatusUnauthorized, res.StatusCode)
require.Equal(t, string(body), ErrMissingOrMalformedAPIKey.Error())
}
@ -401,15 +401,15 @@ func TestAuthSchemeToken(t *testing.T) {
// Send the request to the app
res, err := app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
// Read the response body into a string
body, err := io.ReadAll(res.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
// Check that the response has the expected status code and body
require.Equal(t, res.StatusCode, http.StatusOK)
require.Equal(t, string(body), "API key is valid")
require.Equal(t, http.StatusOK, res.StatusCode)
require.Equal(t, "API key is valid", string(body))
}
func TestAuthSchemeBasic(t *testing.T) {
@ -433,14 +433,14 @@ func TestAuthSchemeBasic(t *testing.T) {
// Create a request without an API key and Send the request to the app
res, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", nil))
require.Equal(t, err, nil)
require.NoError(t, err)
// Read the response body into a string
body, err := io.ReadAll(res.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
// Check that the response has the expected status code and body
require.Equal(t, res.StatusCode, http.StatusUnauthorized)
require.Equal(t, http.StatusUnauthorized, res.StatusCode)
require.Equal(t, string(body), ErrMissingOrMalformedAPIKey.Error())
// Create a request with a valid API key in the "Authorization" header using the "Basic" scheme
@ -449,13 +449,13 @@ func TestAuthSchemeBasic(t *testing.T) {
// Send the request to the app
res, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
// Read the response body into a string
body, err = io.ReadAll(res.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
// Check that the response has the expected status code and body
require.Equal(t, res.StatusCode, http.StatusOK)
require.Equal(t, string(body), "API key is valid")
require.Equal(t, http.StatusOK, res.StatusCode)
require.Equal(t, "API key is valid", string(body))
}

View File

@ -127,7 +127,7 @@ func Test_Logger_Done(t *testing.T) {
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
require.True(t, buf.Len() > 0)
require.Greater(t, buf.Len(), 0)
}
// go test -run Test_Logger_ErrorTimeZone
@ -265,7 +265,8 @@ func Test_Logger_WithLatency(t *testing.T) {
require.Equal(t, fiber.StatusOK, resp.StatusCode)
// Assert that the log output contains the expected latency value in the current time unit
require.Equal(t, bytes.HasSuffix(buff.Bytes(), []byte(tu.unit)), true, fmt.Sprintf("Expected latency to be in %s, got %s", tu.unit, buff.String()))
require.True(t, bytes.HasSuffix(buff.Bytes(), []byte(tu.unit)),
fmt.Sprintf("Expected latency to be in %s, got %s", tu.unit, buff.String()))
// Reset the buffer
buff.Reset()
@ -309,7 +310,8 @@ func Test_Logger_WithLatency_DefaultFormat(t *testing.T) {
// parse out the latency value from the log output
latency := bytes.Split(buff.Bytes(), []byte(" | "))[2]
// Assert that the latency value is in the current time unit
require.Equal(t, bytes.HasSuffix(latency, []byte(tu.unit)), true, fmt.Sprintf("Expected latency to be in %s, got %s", tu.unit, latency))
require.True(t, bytes.HasSuffix(latency, []byte(tu.unit)),
fmt.Sprintf("Expected latency to be in %s, got %s", tu.unit, latency))
// Reset the buffer
buff.Reset()
@ -424,9 +426,9 @@ func Test_Logger_Data_Race(t *testing.T) {
resp2, err2 = app.Test(httptest.NewRequest(fiber.MethodGet, "/", nil))
wg.Wait()
require.Nil(t, err1)
require.NoError(t, err1)
require.Equal(t, fiber.StatusOK, resp1.StatusCode)
require.Nil(t, err2)
require.NoError(t, err2)
require.Equal(t, fiber.StatusOK, resp2.StatusCode)
}

View File

@ -81,7 +81,7 @@ func Test_Pprof_Index_WithPrefix(t *testing.T) {
b, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, true, bytes.Contains(b, []byte("<title>/debug/pprof/</title>")))
require.Contains(t, string(b), "<title>/debug/pprof/</title>")
}
func Test_Pprof_Subs(t *testing.T) {

View File

@ -28,7 +28,7 @@ func createProxyTestServer(t *testing.T, handler fiber.Handler) (*fiber.App, str
addr := ln.Addr().String()
go func() {
require.Nil(t, target.Listener(ln, fiber.ListenConfig{
require.NoError(t, target.Listener(ln, fiber.ListenConfig{
DisableStartupMessage: true,
}))
}()
@ -132,14 +132,14 @@ func Test_Proxy_Balancer_WithTLSConfig(t *testing.T) {
}))
go func() {
require.Nil(t, app.Listener(ln, fiber.ListenConfig{
require.NoError(t, app.Listener(ln, fiber.ListenConfig{
DisableStartupMessage: true,
}))
}()
code, body, errs := fiber.Get("https://" + addr + "/tlsbalaner").TLSConfig(clientTLSConf).String()
require.Equal(t, 0, len(errs))
require.Empty(t, errs)
require.Equal(t, fiber.StatusOK, code)
require.Equal(t, "tls balancer", body)
}
@ -167,7 +167,7 @@ func Test_Proxy_Forward_WithTLSConfig_To_Http(t *testing.T) {
app.Use(Forward("http://" + targetAddr))
go func() {
require.Nil(t, app.Listener(proxyServerLn, fiber.ListenConfig{
require.NoError(t, app.Listener(proxyServerLn, fiber.ListenConfig{
DisableStartupMessage: true,
}))
}()
@ -177,7 +177,7 @@ func Test_Proxy_Forward_WithTLSConfig_To_Http(t *testing.T) {
Timeout(5 * time.Second).
String()
require.Equal(t, 0, len(errs))
require.Empty(t, errs)
require.Equal(t, fiber.StatusOK, code)
require.Equal(t, "hello from target", body)
}
@ -229,14 +229,14 @@ func Test_Proxy_Forward_WithTLSConfig(t *testing.T) {
app.Use(Forward("https://" + addr + "/tlsfwd"))
go func() {
require.Nil(t, app.Listener(ln, fiber.ListenConfig{
require.NoError(t, app.Listener(ln, fiber.ListenConfig{
DisableStartupMessage: true,
}))
}()
code, body, errs := fiber.Get("https://" + addr).TLSConfig(clientTLSConf).String()
require.Equal(t, 0, len(errs))
require.Empty(t, errs)
require.Equal(t, fiber.StatusOK, code)
require.Equal(t, "tls forward", body)
}
@ -382,7 +382,7 @@ func Test_Proxy_Do_RestoreOriginalURL(t *testing.T) {
return Do(c, "http://"+addr)
})
resp, err1 := app.Test(httptest.NewRequest(fiber.MethodGet, "/test", nil))
require.Equal(t, nil, err1)
require.NoError(t, err1)
require.Equal(t, "/test", resp.Request.URL.String())
require.Equal(t, fiber.StatusOK, resp.StatusCode)
body, err := io.ReadAll(resp.Body)
@ -399,12 +399,12 @@ func Test_Proxy_Do_WithRealURL(t *testing.T) {
})
resp, err1 := app.Test(httptest.NewRequest(fiber.MethodGet, "/test", nil))
require.Equal(t, nil, err1)
require.NoError(t, err1)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
require.Equal(t, "/test", resp.Request.URL.String())
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, true, strings.Contains(string(body), "https://www.google.com/"))
require.Contains(t, string(body), "https://www.google.com/")
}
// go test -race -run Test_Proxy_Do_WithRedirect
@ -416,10 +416,10 @@ func Test_Proxy_Do_WithRedirect(t *testing.T) {
})
resp, err1 := app.Test(httptest.NewRequest(fiber.MethodGet, "/test", nil), 1500)
require.Equal(t, nil, err1)
require.NoError(t, err1)
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, true, strings.Contains(string(body), "https://www.google.com/"))
require.Contains(t, string(body), "https://www.google.com/")
require.Equal(t, 301, resp.StatusCode)
}
@ -432,7 +432,7 @@ func Test_Proxy_DoRedirects_RestoreOriginalURL(t *testing.T) {
})
resp, err1 := app.Test(httptest.NewRequest(fiber.MethodGet, "/test", nil), 1500)
require.Equal(t, nil, err1)
require.NoError(t, err1)
_, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
@ -448,7 +448,7 @@ func Test_Proxy_DoRedirects_TooManyRedirects(t *testing.T) {
})
resp, err1 := app.Test(httptest.NewRequest(fiber.MethodGet, "/test", nil), 1500)
require.Equal(t, nil, err1)
require.NoError(t, err1)
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, "too many redirects detected when doing the request", string(body))
@ -470,7 +470,7 @@ func Test_Proxy_DoTimeout_RestoreOriginalURL(t *testing.T) {
})
resp, err1 := app.Test(httptest.NewRequest(fiber.MethodGet, "/test", nil))
require.Equal(t, nil, err1)
require.NoError(t, err1)
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, "proxied", string(body))
@ -510,7 +510,7 @@ func Test_Proxy_DoDeadline_RestoreOriginalURL(t *testing.T) {
})
resp, err1 := app.Test(httptest.NewRequest(fiber.MethodGet, "/test", nil))
require.Equal(t, nil, err1)
require.NoError(t, err1)
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, "proxied", string(body))
@ -581,13 +581,13 @@ func Test_Proxy_Forward_Global_Client(t *testing.T) {
addr := ln.Addr().String()
app.Use(Forward("http://" + addr + "/test_global_client"))
go func() {
require.Nil(t, app.Listener(ln, fiber.ListenConfig{
require.NoError(t, app.Listener(ln, fiber.ListenConfig{
DisableStartupMessage: true,
}))
}()
code, body, errs := fiber.Get("http://" + addr).String()
require.Equal(t, 0, len(errs))
require.Empty(t, errs)
require.Equal(t, fiber.StatusOK, code)
require.Equal(t, "test_global_client", body)
}
@ -610,13 +610,13 @@ func Test_Proxy_Forward_Local_Client(t *testing.T) {
Dial: fasthttp.Dial,
}))
go func() {
require.Nil(t, app.Listener(ln, fiber.ListenConfig{
require.NoError(t, app.Listener(ln, fiber.ListenConfig{
DisableStartupMessage: true,
}))
}()
code, body, errs := fiber.Get("http://" + addr).String()
require.Equal(t, 0, len(errs))
require.Empty(t, errs)
require.Equal(t, fiber.StatusOK, code)
require.Equal(t, "test_local_client", body)
}
@ -683,7 +683,7 @@ func Test_Proxy_Domain_Forward_Local(t *testing.T) {
go func() { require.NoError(t, app1.Listener(ln1)) }()
code, body, errs := fiber.Get("http://" + localDomain + "/test?query_test=true").String()
require.Equal(t, 0, len(errs))
require.Empty(t, errs)
require.Equal(t, fiber.StatusOK, code)
require.Equal(t, "test_local_client:true", body)
}
@ -707,5 +707,5 @@ func Test_Proxy_Balancer_Forward_Local(t *testing.T) {
b, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, string(b), "forwarded")
require.Equal(t, "forwarded", string(b))
}

View File

@ -108,11 +108,11 @@ func Test_Redirect(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
req, err := http.NewRequestWithContext(context.Background(), fiber.MethodGet, tt.url, nil)
require.Equal(t, err, nil)
require.NoError(t, err)
req.Header.Set("Location", "github.com/gofiber/redirect")
resp, err := app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, tt.statusCode, resp.StatusCode)
require.Equal(t, tt.redirectTo, resp.Header.Get("Location"))
})
@ -137,9 +137,9 @@ func Test_Next(t *testing.T) {
})
req, err := http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err := app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
@ -156,9 +156,9 @@ func Test_Next(t *testing.T) {
}))
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusMovedPermanently, resp.StatusCode)
require.Equal(t, "google.com", resp.Header.Get("Location"))
@ -177,9 +177,9 @@ func Test_NoRules(t *testing.T) {
})
req, err := http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err := app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
// Case 2: No rules and no default route defined
@ -190,9 +190,9 @@ func Test_NoRules(t *testing.T) {
}))
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusNotFound, resp.StatusCode)
}
@ -203,10 +203,10 @@ func Test_DefaultConfig(t *testing.T) {
app.Use(New())
req, err := http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err := app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusNotFound, resp.StatusCode)
// Case 2: Default config and default route
@ -218,10 +218,10 @@ func Test_DefaultConfig(t *testing.T) {
})
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
}
@ -238,10 +238,10 @@ func Test_RegexRules(t *testing.T) {
})
req, err := http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err := app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
// Case 2: Rules regex map contains valid regex and well-formed replacement URLs
@ -258,26 +258,21 @@ func Test_RegexRules(t *testing.T) {
})
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusMovedPermanently, resp.StatusCode)
require.Equal(t, "google.com", resp.Header.Get("Location"))
// Case 3: Test invalid regex throws panic
defer func() {
if r := recover(); r != nil {
t.Log("Recovered from invalid regex: ", r)
}
}()
app = *fiber.New()
app.Use(New(Config{
Rules: map[string]string{
"(": "google.com",
},
StatusCode: fiber.StatusMovedPermanently,
}))
t.Error("Expected panic, got nil")
require.Panics(t, func() {
app.Use(New(Config{
Rules: map[string]string{
"(": "google.com",
},
StatusCode: fiber.StatusMovedPermanently,
}))
})
}

View File

@ -24,7 +24,7 @@ func Test_RequestID(t *testing.T) {
require.Equal(t, fiber.StatusOK, resp.StatusCode)
reqid := resp.Header.Get(fiber.HeaderXRequestID)
require.Equal(t, 36, len(reqid))
require.Len(t, reqid, 36)
req := httptest.NewRequest(fiber.MethodGet, "/", nil)
req.Header.Add(fiber.HeaderXRequestID, reqid)
@ -47,7 +47,7 @@ func Test_RequestID_Next(t *testing.T) {
resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", nil))
require.NoError(t, err)
require.Equal(t, resp.Header.Get(fiber.HeaderXRequestID), "")
require.Empty(t, resp.Header.Get(fiber.HeaderXRequestID))
require.Equal(t, fiber.StatusNotFound, resp.StatusCode)
}

View File

@ -63,14 +63,14 @@ func Test_Rewrite(t *testing.T) {
})
req, err := http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/old", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err := app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
body, err := io.ReadAll(resp.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
bodyString := string(body)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
require.Equal(t, "Rewrite Successful", bodyString)
@ -90,14 +90,14 @@ func Test_Rewrite(t *testing.T) {
})
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/old", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
body, err = io.ReadAll(resp.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
bodyString = string(body)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
require.Equal(t, "Rewrite Successful", bodyString)
@ -114,14 +114,14 @@ func Test_Rewrite(t *testing.T) {
})
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/users/123/orders/456", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
body, err = io.ReadAll(resp.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
bodyString = string(body)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
require.Equal(t, "User ID: 123, Order ID: 456", bodyString)
@ -142,14 +142,14 @@ func Test_Rewrite(t *testing.T) {
})
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/not-matching-any-rule", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
body, err = io.ReadAll(resp.Body)
require.Equal(t, err, nil)
require.NoError(t, err)
bodyString = string(body)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
require.Equal(t, "OK", bodyString)
@ -166,8 +166,8 @@ func Test_Rewrite(t *testing.T) {
})
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/not-matching-any-rule", nil)
require.Equal(t, err, nil)
require.NoError(t, err)
resp, err = app.Test(req)
require.Equal(t, err, nil)
require.NoError(t, err)
require.Equal(t, fiber.StatusNotFound, resp.StatusCode)
}

View File

@ -76,7 +76,7 @@ func Test_Session(t *testing.T) {
require.True(t, sess.Fresh())
// this id should be randomly generated as session key was deleted
require.Equal(t, 36, len(sess.ID()))
require.Len(t, sess.ID(), 36)
// when we use the original session for the second time
// the session be should be same if the session is not expired
@ -194,8 +194,8 @@ func Test_Session_Types(t *testing.T) {
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.InEpsilon(t, vfloat32, sess.Get("vfloat32").(float32), 0.001)
require.InEpsilon(t, vfloat64, sess.Get("vfloat64").(float64), 0.001)
require.Equal(t, vcomplex64, sess.Get("vcomplex64").(complex64))
require.Equal(t, vcomplex128, sess.Get("vcomplex128").(complex128))
}
@ -400,7 +400,7 @@ func Test_Session_Cookie(t *testing.T) {
require.NoError(t, sess.Save())
// cookie should be set on Save ( even if empty data )
require.Equal(t, 84, len(ctx.Response().Header.PeekCookie(store.sessionName)))
require.Len(t, ctx.Response().Header.PeekCookie(store.sessionName), 84)
}
// go test -run Test_Session_Cookie_In_Response
@ -442,12 +442,12 @@ func Test_Session_Deletes_Single_Key(t *testing.T) {
ctx.Request().Header.SetCookie(store.sessionName, sess.ID())
sess.Set("id", "1")
require.Nil(t, sess.Save())
require.NoError(t, sess.Save())
sess, err = store.Get(ctx)
require.NoError(t, err)
sess.Delete("id")
require.Nil(t, sess.Save())
require.NoError(t, sess.Save())
sess, err = store.Get(ctx)
require.NoError(t, err)
@ -496,7 +496,7 @@ func Test_Session_Reset(t *testing.T) {
err = acquiredSession.Reset()
require.NoError(t, err)
require.False(t, acquiredSession.ID() == originalSessionUUIDString)
require.NotEqual(t, originalSessionUUIDString, acquiredSession.ID())
// acquiredSession.fresh should be true after resetting
require.True(t, acquiredSession.Fresh())
@ -555,7 +555,7 @@ func Test_Session_Regenerate(t *testing.T) {
err = acquiredSession.Regenerate()
require.NoError(t, err)
require.False(t, acquiredSession.ID() == originalSessionUUIDString)
require.NotEqual(t, originalSessionUUIDString, acquiredSession.ID())
// acquiredSession.fresh should be true after regenerating
require.True(t, acquiredSession.Fresh())

View File

@ -112,5 +112,5 @@ func TestStore_DeleteSession(t *testing.T) {
require.NoError(t, err)
// The session ID should be different now, because the old session was deleted
require.Equal(t, session.ID() == sessionID, false)
require.NotEqual(t, sessionID, session.ID())
}