Test_Bind_Query_Schema() — fiber Function Reference
Architecture documentation for the Test_Bind_Query_Schema() function in bind_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 5fe8d507_cb76_fadd_3680_5a6f391f67d1["Test_Bind_Query_Schema()"] 55065b01_f5dc_4e53_5a74_5ecc7aca8f52["bind_test.go"] 5fe8d507_cb76_fadd_3680_5a6f391f67d1 -->|defined in| 55065b01_f5dc_4e53_5a74_5ecc7aca8f52 style 5fe8d507_cb76_fadd_3680_5a6f391f67d1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
bind_test.go lines 225–323
func Test_Bind_Query_Schema(t *testing.T) {
t.Parallel()
app := New()
c := app.AcquireCtx(&fasthttp.RequestCtx{})
type Query1 struct {
Name string `query:"name,required"`
Nested struct {
Age int `query:"age"`
} `query:"nested,required"`
}
c.Request().SetBody([]byte(``))
c.Request().Header.SetContentType("")
c.Request().URI().SetQueryString("name=tom&nested.age=10")
q := new(Query1)
require.NoError(t, c.Bind().Query(q))
c.Request().URI().SetQueryString("namex=tom&nested.age=10")
q = new(Query1)
require.Equal(t, "bind: name is empty", c.Bind().Query(q).Error())
c.Request().URI().SetQueryString("name=tom&nested.agex=10")
q = new(Query1)
require.NoError(t, c.Bind().Query(q))
c.Request().URI().SetQueryString("name=tom&test.age=10")
q = new(Query1)
require.Equal(t, "bind: nested is empty", c.Bind().Query(q).Error())
type Query2 struct {
Name string `query:"name"`
Nested struct {
Age int `query:"age,required"`
} `query:"nested"`
}
c.Request().URI().SetQueryString("name=tom&nested.age=10")
q2 := new(Query2)
require.NoError(t, c.Bind().Query(q2))
c.Request().URI().SetQueryString("nested.age=10")
q2 = new(Query2)
require.NoError(t, c.Bind().Query(q2))
c.Request().URI().SetQueryString("nested.agex=10")
q2 = new(Query2)
require.Equal(t, "bind: nested.age is empty", c.Bind().Query(q2).Error())
c.Request().URI().SetQueryString("nested.agex=10")
q2 = new(Query2)
require.Equal(t, "bind: nested.age is empty", c.Bind().Query(q2).Error())
type Node struct {
Next *Node `query:"next,required"`
Value int `query:"val,required"`
}
c.Request().URI().SetQueryString("val=1&next.val=3")
n := new(Node)
require.NoError(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)
require.Equal(t, "bind: val is empty", c.Bind().Query(n).Error())
c.Request().URI().SetQueryString("val=3&next.value=2")
n = new(Node)
n.Next = new(Node)
require.NoError(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"`
Age int `query:"age"`
}
type CollectionQuery struct {
Data []Person `query:"data"`
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Bind_Query_Schema() do?
Test_Bind_Query_Schema() is a function in the fiber codebase, defined in bind_test.go.
Where is Test_Bind_Query_Schema() defined?
Test_Bind_Query_Schema() is defined in bind_test.go at line 225.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free