go test -run Test_Session_Destroy
(t *testing.T)
| 997 | |
| 998 | // go test -run Test_Session_Destroy |
| 999 | func 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) |
nothing calls this directly
no test coverage detected