Home / Function/ TestKeys() — fiber Function Reference

TestKeys() — fiber Function Reference

Architecture documentation for the TestKeys() function in data_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  88578d49_cb05_1662_c0dc_8077285ff863["TestKeys()"]
  31960edf_7060_281a_0b6d_40d015c11902["data_test.go"]
  88578d49_cb05_1662_c0dc_8077285ff863 -->|defined in| 31960edf_7060_281a_0b6d_40d015c11902
  style 88578d49_cb05_1662_c0dc_8077285ff863 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/session/data_test.go lines 11–80

func TestKeys(t *testing.T) {
	t.Parallel()

	// Test case: Empty data
	t.Run("Empty data", func(t *testing.T) {
		t.Parallel()
		d := acquireData()
		d.Reset() // Ensure clean state from pool
		defer dataPool.Put(d)
		defer d.Reset()
		keys := d.Keys()
		require.Empty(t, keys, "Expected no keys in empty data")
	})

	// Test case: Single key
	t.Run("Single key", func(t *testing.T) {
		t.Parallel()
		d := acquireData()
		d.Reset() // Ensure clean state from pool
		defer dataPool.Put(d)
		defer d.Reset()
		d.Set("key1", "value1")
		keys := d.Keys()
		require.Len(t, keys, 1, "Expected one key")
		require.Contains(t, keys, "key1", "Expected key1 to be present")
	})

	// Test case: Multiple keys
	t.Run("Multiple keys", func(t *testing.T) {
		t.Parallel()
		d := acquireData()
		d.Reset() // Ensure clean state from pool
		defer dataPool.Put(d)
		defer d.Reset()
		d.Set("key1", "value1")
		d.Set("key2", "value2")
		d.Set("key3", "value3")
		keys := d.Keys()
		require.Len(t, keys, 3, "Expected three keys")
		require.Contains(t, keys, "key1", "Expected key1 to be present")
		require.Contains(t, keys, "key2", "Expected key2 to be present")
		require.Contains(t, keys, "key3", "Expected key3 to be present")
	})

	// Test case: Concurrent access
	t.Run("Concurrent access", func(t *testing.T) {
		t.Parallel()
		d := acquireData()
		d.Reset() // Ensure clean state from pool
		defer dataPool.Put(d)
		defer d.Reset()
		d.Set("key1", "value1")
		d.Set("key2", "value2")
		d.Set("key3", "value3")

		done := make(chan bool)
		go func() {
			keys := d.Keys()
			assert.Len(t, keys, 3, "Expected three keys")
			done <- true
		}()
		go func() {
			keys := d.Keys()
			assert.Len(t, keys, 3, "Expected three keys")
			done <- true
		}()
		<-done
		<-done
	})
}

Subdomains

Frequently Asked Questions

What does TestKeys() do?
TestKeys() is a function in the fiber codebase, defined in middleware/session/data_test.go.
Where is TestKeys() defined?
TestKeys() is defined in middleware/session/data_test.go at line 11.

Analyze Your Own Codebase

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

Try Supermodel Free