MCPcopy
hub / github.com/gofiber/fiber / Test_Session_Destroy

Function Test_Session_Destroy

middleware/session/session_test.go:999–1059  ·  view source on GitHub ↗

go test -run Test_Session_Destroy

(t *testing.T)

Source from the content-addressed store, hash-verified

997
998// go test -run Test_Session_Destroy
999func Test_Session_Destroy(t *testing.T) {
1000 t.Parallel()
1001
1002 t.Run("destroy from cookie", func(t *testing.T) {
1003 t.Parallel()
1004 // session store
1005 store := NewStore()
1006 // fiber instance
1007 app := fiber.New()
1008 // fiber context
1009 ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
1010 defer app.ReleaseCtx(ctx)
1011
1012 // get session
1013 sess, err := store.Get(ctx)
1014 defer sess.Release()
1015 require.NoError(t, err)
1016
1017 sess.Set("name", "fenny")
1018 require.NoError(t, sess.Destroy())
1019 name := sess.Get("name")
1020 require.Nil(t, name)
1021 })
1022
1023 t.Run("destroy from header", func(t *testing.T) {
1024 t.Parallel()
1025 // session store
1026 store := NewStore(Config{
1027 Extractor: extractors.FromHeader("session_id"),
1028 })
1029 // fiber instance
1030 app := fiber.New()
1031 // fiber context
1032 ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
1033 defer app.ReleaseCtx(ctx)
1034
1035 // get session
1036 sess, err := store.Get(ctx)
1037 require.NoError(t, err)
1038
1039 // set value & save
1040 sess.Set("name", "fenny")
1041 id := sess.ID()
1042 require.NoError(t, sess.Save())
1043
1044 sess.Release()
1045 app.ReleaseCtx(ctx)
1046 ctx = app.AcquireCtx(&fasthttp.RequestCtx{})
1047 defer app.ReleaseCtx(ctx)
1048
1049 // get session
1050 ctx.Request().Header.Set("session_id", id)
1051 sess, err = store.Get(ctx)
1052 require.NoError(t, err)
1053 defer sess.Release()
1054
1055 err = sess.Destroy()
1056 require.NoError(t, err)

Callers

nothing calls this directly

Calls 14

GetMethod · 0.95
FromHeaderFunction · 0.92
NewStoreFunction · 0.85
AcquireCtxMethod · 0.80
ReleaseCtxMethod · 0.80
NewMethod · 0.65
SetMethod · 0.65
GetMethod · 0.65
RequestMethod · 0.65
ResponseMethod · 0.65
ReleaseMethod · 0.45
DestroyMethod · 0.45

Tested by

no test coverage detected