TestMultipleKeyLookup() — fiber Function Reference
Architecture documentation for the TestMultipleKeyLookup() function in keyauth_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 66afd75a_89d7_da3a_7ffd_084e62230e50["TestMultipleKeyLookup()"] 71f55784_a001_0646_0ce7_7ad97067c49c["keyauth_test.go"] 66afd75a_89d7_da3a_7ffd_084e62230e50 -->|defined in| 71f55784_a001_0646_0ce7_7ad97067c49c style 66afd75a_89d7_da3a_7ffd_084e62230e50 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/keyauth/keyauth_test.go lines 192–256
func TestMultipleKeyLookup(t *testing.T) {
const (
desc = "auth with correct key"
success = "Success!"
scheme = "Bearer"
)
// set up the fiber endpoint
app := fiber.New()
customExtractor := extractors.Chain(
extractors.FromAuthHeader("Bearer"),
extractors.FromHeader("key"),
extractors.FromCookie("key"),
extractors.FromQuery("key"),
)
authMiddleware := New(Config{
Extractor: customExtractor,
Validator: func(_ fiber.Ctx, key string) (bool, error) {
if key == CorrectKey {
return true, nil
}
return false, errors.New("invalid key")
},
})
app.Use(authMiddleware)
app.Get("/foo", func(c fiber.Ctx) error {
return c.SendString(success)
})
// construct the test HTTP request
var (
req *http.Request
err error
)
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/foo", http.NoBody)
require.NoError(t, err)
q := req.URL.Query()
q.Add("key", CorrectKey)
req.URL.RawQuery = q.Encode()
res, err := app.Test(req, testConfig)
require.NoError(t, err)
// test the body of the request
body, err := io.ReadAll(res.Body)
require.Equal(t, 200, res.StatusCode, desc)
// body
require.NoError(t, err)
require.Equal(t, success, string(body), desc)
err = res.Body.Close()
require.NoError(t, err)
// construct a second request without proper key
req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/foo", http.NoBody)
require.NoError(t, err)
res, err = app.Test(req, testConfig)
require.NoError(t, err)
errBody, err := io.ReadAll(res.Body)
require.NoError(t, err)
require.Equal(t, ErrMissingOrMalformedAPIKey.Error(), string(errBody))
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does TestMultipleKeyLookup() do?
TestMultipleKeyLookup() is a function in the fiber codebase, defined in middleware/keyauth/keyauth_test.go.
Where is TestMultipleKeyLookup() defined?
TestMultipleKeyLookup() is defined in middleware/keyauth/keyauth_test.go at line 192.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free