Test_Extractor_Chain_MixedScenarios() — fiber Function Reference
Architecture documentation for the Test_Extractor_Chain_MixedScenarios() function in extractors_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD cc0babdb_183e_faa9_177c_6c2d514349b4["Test_Extractor_Chain_MixedScenarios()"] cf5e296e_8db5_6f84_b05a_9c0cac6f83e7["extractors_test.go"] cc0babdb_183e_faa9_177c_6c2d514349b4 -->|defined in| cf5e296e_8db5_6f84_b05a_9c0cac6f83e7 style cc0babdb_183e_faa9_177c_6c2d514349b4 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
extractors/extractors_test.go lines 747–814
func Test_Extractor_Chain_MixedScenarios(t *testing.T) {
t.Parallel()
// Define reusable extractors
failingExtractor := Extractor{
Extract: func(_ fiber.Ctx) (string, error) {
return "", ErrNotFound
},
Key: "fail",
Source: SourceCustom,
}
errorExtractor := Extractor{
Extract: func(_ fiber.Ctx) (string, error) {
return "", fiber.NewError(fiber.StatusBadRequest, "Bad request")
},
Key: "error",
Source: SourceCustom,
}
successExtractor := Extractor{
Extract: func(_ fiber.Ctx) (string, error) {
return "success", nil
},
Key: "success",
Source: SourceCustom,
}
t.Run("error_then_success", func(t *testing.T) {
t.Parallel()
app := fiber.New()
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
t.Cleanup(func() { app.ReleaseCtx(ctx) })
chain := Chain(errorExtractor, successExtractor)
token, err := chain.Extract(ctx)
require.NoError(t, err)
require.Equal(t, "success", token)
})
t.Run("fail_then_error_then_success", func(t *testing.T) {
t.Parallel()
app := fiber.New()
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
t.Cleanup(func() { app.ReleaseCtx(ctx) })
chain := Chain(failingExtractor, errorExtractor, successExtractor)
token, err := chain.Extract(ctx)
require.NoError(t, err)
require.Equal(t, "success", token)
})
t.Run("fail_then_error", func(t *testing.T) {
t.Parallel()
app := fiber.New()
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
t.Cleanup(func() { app.ReleaseCtx(ctx) })
chain := Chain(failingExtractor, errorExtractor)
token, err := chain.Extract(ctx)
require.Empty(t, token)
require.Error(t, err)
require.Contains(t, err.Error(), "Bad request")
})
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Extractor_Chain_MixedScenarios() do?
Test_Extractor_Chain_MixedScenarios() is a function in the fiber codebase, defined in extractors/extractors_test.go.
Where is Test_Extractor_Chain_MixedScenarios() defined?
Test_Extractor_Chain_MixedScenarios() is defined in extractors/extractors_test.go at line 747.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free