Test_Session_Save_IdleTimeout() — fiber Function Reference
Architecture documentation for the Test_Session_Save_IdleTimeout() function in session_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 013788ac_2547_28c6_5f6e_372779129bdd["Test_Session_Save_IdleTimeout()"] 397e6e82_749b_4ef2_9365_02be671c59f7["session_test.go"] 013788ac_2547_28c6_5f6e_372779129bdd -->|defined in| 397e6e82_749b_4ef2_9365_02be671c59f7 style 013788ac_2547_28c6_5f6e_372779129bdd fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/session/session_test.go lines 705–766
func Test_Session_Save_IdleTimeout(t *testing.T) {
t.Parallel()
t.Run("save to cookie", func(t *testing.T) {
t.Parallel()
const sessionDuration = 5 * time.Second
// session store
store := NewStore()
// fiber instance
app := fiber.New()
// fiber context
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
defer app.ReleaseCtx(ctx)
// get session
sess, err := store.Get(ctx)
require.NoError(t, err)
// set value
sess.Set("name", "john")
token := sess.ID()
// expire this session in 5 seconds
sess.SetIdleTimeout(sessionDuration)
// save session
err = sess.Save()
require.NoError(t, err)
sess.Release()
app.ReleaseCtx(ctx)
ctx = app.AcquireCtx(&fasthttp.RequestCtx{})
// here you need to get the old session yet
ctx.Request().Header.SetCookie("session_id", token)
sess, err = store.Get(ctx)
require.NoError(t, err)
require.Equal(t, token, sess.ID(), "session ID should match before expiration")
name := sess.Get("name")
require.Equal(t, "john", name, "session should contain the saved value before expiration")
// just to make sure the session has been expired
// Add extra buffer time to ensure expiration is processed
time.Sleep(sessionDuration + (100 * time.Millisecond))
sess.Release()
app.ReleaseCtx(ctx)
ctx = app.AcquireCtx(&fasthttp.RequestCtx{})
defer app.ReleaseCtx(ctx)
// here you should get a new session
ctx.Request().Header.SetCookie("session_id", token)
sess, err = store.Get(ctx)
defer sess.Release()
require.NoError(t, err)
require.Nil(t, sess.Get("name"))
require.NotEqual(t, sess.ID(), token)
})
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Session_Save_IdleTimeout() do?
Test_Session_Save_IdleTimeout() is a function in the fiber codebase, defined in middleware/session/session_test.go.
Where is Test_Session_Save_IdleTimeout() defined?
Test_Session_Save_IdleTimeout() is defined in middleware/session/session_test.go at line 705.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free