Test_Extractor_FromCustom() — fiber Function Reference
Architecture documentation for the Test_Extractor_FromCustom() function in extractors_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 85aa4614_a007_7785_7cda_74828faee11b["Test_Extractor_FromCustom()"] cf5e296e_8db5_6f84_b05a_9c0cac6f83e7["extractors_test.go"] 85aa4614_a007_7785_7cda_74828faee11b -->|defined in| cf5e296e_8db5_6f84_b05a_9c0cac6f83e7 style 85aa4614_a007_7785_7cda_74828faee11b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
extractors/extractors_test.go lines 286–361
func Test_Extractor_FromCustom(t *testing.T) {
t.Parallel()
t.Run("successful_extraction", func(t *testing.T) {
t.Parallel()
app := fiber.New()
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
t.Cleanup(func() { app.ReleaseCtx(ctx) })
ctx.Request().Header.Set("X-Custom", "custom-value")
customExtractor := FromCustom("X-Custom", func(c fiber.Ctx) (string, error) {
value := c.Get("X-Custom")
if value == "" {
return "", ErrNotFound
}
return strings.ToUpper(value), nil
})
token, err := customExtractor.Extract(ctx)
require.NoError(t, err)
require.Equal(t, "CUSTOM-VALUE", token)
// Verify metadata
require.Equal(t, SourceCustom, customExtractor.Source)
require.Equal(t, "X-Custom", customExtractor.Key)
require.Empty(t, customExtractor.AuthScheme)
})
t.Run("extraction_with_error", func(t *testing.T) {
t.Parallel()
app := fiber.New()
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
t.Cleanup(func() { app.ReleaseCtx(ctx) })
errorExtractor := FromCustom("test", func(_ fiber.Ctx) (string, error) {
return "", fiber.NewError(fiber.StatusBadRequest, "Custom error")
})
token, err := errorExtractor.Extract(ctx)
require.Empty(t, token)
require.Error(t, err)
require.Contains(t, err.Error(), "Custom error")
})
t.Run("extraction_returning_empty_string", func(t *testing.T) {
t.Parallel()
app := fiber.New()
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
t.Cleanup(func() { app.ReleaseCtx(ctx) })
emptyExtractor := FromCustom("empty", func(_ fiber.Ctx) (string, error) {
return "", nil
})
token, err := emptyExtractor.Extract(ctx)
require.Empty(t, token)
require.NoError(t, err) // Should return empty string with no error
})
t.Run("nil_function", func(t *testing.T) {
t.Parallel()
app := fiber.New()
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
t.Cleanup(func() { app.ReleaseCtx(ctx) })
nilExtractor := FromCustom("nil", nil)
token, err := nilExtractor.Extract(ctx)
require.Empty(t, token)
require.ErrorIs(t, err, ErrNotFound) // Should return ErrNotFound for nil function
})
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Extractor_FromCustom() do?
Test_Extractor_FromCustom() is a function in the fiber codebase, defined in extractors/extractors_test.go.
Where is Test_Extractor_FromCustom() defined?
Test_Extractor_FromCustom() is defined in extractors/extractors_test.go at line 286.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free