Home / Function/ Test_Store_GetByID() — fiber Function Reference

Test_Store_GetByID() — fiber Function Reference

Architecture documentation for the Test_Store_GetByID() function in store_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  88c2350c_8cb6_6499_909a_f06b7a6a2f0c["Test_Store_GetByID()"]
  9bbf348a_f496_e909_6f62_6ea1938bfec4["store_test.go"]
  88c2350c_8cb6_6499_909a_f06b7a6a2f0c -->|defined in| 9bbf348a_f496_e909_6f62_6ea1938bfec4
  style 88c2350c_8cb6_6499_909a_f06b7a6a2f0c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/session/store_test.go lines 166–227

func Test_Store_GetByID(t *testing.T) {
	t.Parallel()
	// Create a new store
	store := NewStore()

	t.Run("empty session ID", func(t *testing.T) {
		t.Parallel()
		sess, err := store.GetByID(context.Background(), "")
		require.Error(t, err)
		require.Nil(t, sess)
		require.Equal(t, ErrEmptySessionID, err)
	})

	t.Run("nonexistent session ID", func(t *testing.T) {
		t.Parallel()
		sess, err := store.GetByID(context.Background(), "nonexistent-session-id")
		require.Error(t, err)
		require.Nil(t, sess)
		require.Equal(t, ErrSessionIDNotFoundInStore, err)
	})

	t.Run("valid session ID", func(t *testing.T) {
		t.Parallel()
		app := fiber.New()
		// Create a new session
		ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
		session, err := store.Get(ctx)
		defer session.Release()
		defer app.ReleaseCtx(ctx)
		require.NoError(t, err)

		// Save the session ID
		sessionID := session.ID()

		// Save the session
		err = session.Save()
		require.NoError(t, err)

		// Retrieve the session by ID
		retrievedSession, err := store.GetByID(context.Background(), sessionID)
		require.NoError(t, err)
		require.NotNil(t, retrievedSession)
		require.Equal(t, sessionID, retrievedSession.ID())

		// Call Save on the retrieved session
		retrievedSession.Set("key", "value")
		err = retrievedSession.Save()
		require.NoError(t, err)

		// Call Other Session methods
		require.Equal(t, "value", retrievedSession.Get("key"))
		require.False(t, retrievedSession.Fresh())

		require.NoError(t, retrievedSession.Reset())
		require.NoError(t, retrievedSession.Destroy())
		require.IsType(t, []any{}, retrievedSession.Keys())
		require.NoError(t, retrievedSession.Regenerate())
		require.NotPanics(t, func() {
			retrievedSession.Release()
		})
	})
}

Subdomains

Frequently Asked Questions

What does Test_Store_GetByID() do?
Test_Store_GetByID() is a function in the fiber codebase, defined in middleware/session/store_test.go.
Where is Test_Store_GetByID() defined?
Test_Store_GetByID() is defined in middleware/session/store_test.go at line 166.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free