Home / Function/ Test_RegexRules() — fiber Function Reference

Test_RegexRules() — fiber Function Reference

Architecture documentation for the Test_RegexRules() function in redirect_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  0629693e_9471_eb05_480c_e80f8e6b74f7["Test_RegexRules()"]
  64bcdd8d_b836_1bcb_1e52_a08c8f16650c["redirect_test.go"]
  0629693e_9471_eb05_480c_e80f8e6b74f7 -->|defined in| 64bcdd8d_b836_1bcb_1e52_a08c8f16650c
  style 0629693e_9471_eb05_480c_e80f8e6b74f7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/redirect/redirect_test.go lines 239–289

func Test_RegexRules(t *testing.T) {
	// Case 1: Rules regex is empty
	app := *fiber.New()
	app.Use(New(Config{
		Rules:      map[string]string{},
		StatusCode: fiber.StatusMovedPermanently,
	}))

	app.Use(func(c fiber.Ctx) error {
		return c.SendStatus(fiber.StatusOK)
	})

	req, err := http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", http.NoBody)
	require.NoError(t, err)
	resp, err := app.Test(req)

	require.NoError(t, err)
	require.Equal(t, fiber.StatusOK, resp.StatusCode)

	// Case 2: Rules regex map contains valid regex and well-formed replacement URLs
	app = *fiber.New()
	app.Use(New(Config{
		Rules: map[string]string{
			"/default": "google.com",
		},
		StatusCode: fiber.StatusMovedPermanently,
	}))

	app.Use(func(c fiber.Ctx) error {
		return c.SendStatus(fiber.StatusOK)
	})

	req, err = http.NewRequestWithContext(context.Background(), fiber.MethodGet, "/default", http.NoBody)
	require.NoError(t, err)
	resp, err = app.Test(req)

	require.NoError(t, err)
	require.Equal(t, fiber.StatusMovedPermanently, resp.StatusCode)
	require.Equal(t, "google.com", resp.Header.Get("Location"))

	// Case 3: Test invalid regex throws panic
	app = *fiber.New()
	require.Panics(t, func() {
		app.Use(New(Config{
			Rules: map[string]string{
				"(": "google.com",
			},
			StatusCode: fiber.StatusMovedPermanently,
		}))
	})
}

Domain

Subdomains

Frequently Asked Questions

What does Test_RegexRules() do?
Test_RegexRules() is a function in the fiber codebase, defined in middleware/redirect/redirect_test.go.
Where is Test_RegexRules() defined?
Test_RegexRules() is defined in middleware/redirect/redirect_test.go at line 239.

Analyze Your Own Codebase

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

Try Supermodel Free