Test_Session_KeyTypes() — fiber Function Reference
Architecture documentation for the Test_Session_KeyTypes() function in session_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 2e5e42f7_f916_afe7_80e4_4b230bed7258["Test_Session_KeyTypes()"] 397e6e82_749b_4ef2_9365_02be671c59f7["session_test.go"] 2e5e42f7_f916_afe7_80e4_4b230bed7258 -->|defined in| 397e6e82_749b_4ef2_9365_02be671c59f7 style 2e5e42f7_f916_afe7_80e4_4b230bed7258 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/session/session_test.go lines 333–516
func Test_Session_KeyTypes(t *testing.T) {
// Note: This test cannot run in parallel because it registers types
// in the global gob registry via store.RegisterType(), which would
// cause race conditions with other parallel tests.
// session store
store := NewStore()
// fiber instance
app := fiber.New()
// fiber context
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
// get session
sess, err := store.Get(ctx)
require.NoError(t, err)
require.True(t, sess.Fresh())
type Person struct {
Name string
}
type unexportedKey int
// register non-default types
store.RegisterType(Person{})
store.RegisterType(unexportedKey(0))
type unregisteredKeyType int
type unregisteredValueType int
// verify unregistered keys types are not allowed
var (
unregisteredKey unregisteredKeyType
unregisteredValue unregisteredValueType
)
sess.Set(unregisteredKey, "test")
err = sess.Save()
require.Error(t, err)
sess.Delete(unregisteredKey)
err = sess.Save()
require.NoError(t, err)
sess.Set("abc", unregisteredValue)
err = sess.Save()
require.Error(t, err)
sess.Delete("abc")
err = sess.Save()
require.NoError(t, err)
require.NoError(t, sess.Reset())
// Release session before continuing
sess.Release()
// Get a new session after reset
sess, err = store.Get(ctx)
require.NoError(t, err)
require.True(t, sess.Fresh())
var (
kbool = true
kstring = "str"
kint = 13
kint8 int8 = 13
kint16 int16 = 13
kint32 int32 = 13
kint64 int64 = 13
kuint uint = 13
kuint8 uint8 = 13
kuint16 uint16 = 13
kuint32 uint32 = 13
kuint64 uint64 = 13
kuintptr uintptr = 13
kbyte byte = 'k'
krune = 'k'
kfloat32 float32 = 13
kfloat64 float64 = 13
kcomplex64 complex64 = 13
kcomplex128 complex128 = 13
kuser = Person{Name: "John"}
kunexportedKey = unexportedKey(13)
)
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Session_KeyTypes() do?
Test_Session_KeyTypes() is a function in the fiber codebase, defined in middleware/session/session_test.go.
Where is Test_Session_KeyTypes() defined?
Test_Session_KeyTypes() is defined in middleware/session/session_test.go at line 333.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free