Home / File/ config_test.go — fiber Source File

config_test.go — fiber Source File

Architecture documentation for config_test.go, a go file in the fiber codebase. 1 imports, 0 dependents.

File go FiberMiddleware Session 1 imports 4 functions

Entity Profile

Dependency Diagram

graph LR
  c6f3fc00_d96e_8233_41a8_54350338f72c["config_test.go"]
  d412afc8_b482_999e_79ca_16b6ad9c2e7c["testing"]
  c6f3fc00_d96e_8233_41a8_54350338f72c --> d412afc8_b482_999e_79ca_16b6ad9c2e7c
  style c6f3fc00_d96e_8233_41a8_54350338f72c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

package session

import (
	"testing"
	"time"

	"github.com/gofiber/fiber/v3"
	"github.com/gofiber/fiber/v3/extractors"
	"github.com/stretchr/testify/require"
	"github.com/valyala/fasthttp"
)

func TestConfigDefault(t *testing.T) {
	// Test default config
	cfg := configDefault()
	require.Equal(t, 30*time.Minute, cfg.IdleTimeout)
	require.NotNil(t, cfg.KeyGenerator)
	require.NotNil(t, cfg.Extractor)
	require.Equal(t, "session_id", cfg.Extractor.Key)
	require.Equal(t, "Lax", cfg.CookieSameSite)
}

func TestConfigDefaultWithCustomConfig(t *testing.T) {
	// Test custom config
	customConfig := Config{
		IdleTimeout:  48 * time.Hour,
		Extractor:    extractors.FromHeader("X-Custom-Session"),
		KeyGenerator: func() string { return "custom_key" },
	}
	cfg := configDefault(customConfig)
	require.Equal(t, 48*time.Hour, cfg.IdleTimeout)
	require.NotNil(t, cfg.KeyGenerator)
	require.NotNil(t, cfg.Extractor)
	require.Equal(t, "X-Custom-Session", cfg.Extractor.Key)
}

func TestDefaultErrorHandler(t *testing.T) {
	// Create a new Fiber app
	app := fiber.New()

	// Create a new context
	ctx := app.AcquireCtx(&fasthttp.RequestCtx{})

	// Test DefaultErrorHandler
	DefaultErrorHandler(ctx, fiber.ErrInternalServerError)
	require.Equal(t, fiber.StatusInternalServerError, ctx.Response().StatusCode())
}

func TestAbsoluteTimeoutValidation(t *testing.T) {
	require.PanicsWithValue(t, "[session] AbsoluteTimeout must be greater than or equal to IdleTimeout", func() {
		configDefault(Config{
			IdleTimeout:     30 * time.Minute,
			AbsoluteTimeout: 15 * time.Minute, // Less than IdleTimeout
		})
	})
}

Subdomains

Dependencies

  • testing

Frequently Asked Questions

What does config_test.go do?
config_test.go is a source file in the fiber codebase, written in go. It belongs to the FiberMiddleware domain, Session subdomain.
What functions are defined in config_test.go?
config_test.go defines 4 function(s): TestAbsoluteTimeoutValidation, TestConfigDefault, TestConfigDefaultWithCustomConfig, TestDefaultErrorHandler.
What does config_test.go depend on?
config_test.go imports 1 module(s): testing.
Where is config_test.go in the architecture?
config_test.go is located at middleware/session/config_test.go (domain: FiberMiddleware, subdomain: Session, directory: middleware/session).

Analyze Your Own Codebase

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

Try Supermodel Free