Files
user-system/internal/api/router/router_test.go
Your Name 5d767abe72 test(docs): P2 optimization - add router tests and update README
- Add router package tests to improve coverage
- Update README status date to 2026-05-29
- Mark all P0/P1 review blockers as resolved
- Update project readiness rating to B (conditional ready)
2026-05-29 14:00:21 +08:00

58 lines
1.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package router
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/user-management-system/internal/api/handler"
)
// TestRouter_NewRouter 测试 router 创建
func TestRouter_NewRouter(t *testing.T) {
// 创建不带 avatar handler 的 router
router1 := NewRouter(
nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil,
)
assert.NotNil(t, router1)
assert.Nil(t, router1.avatarHandler)
// 创建带 avatar handler 的 router
avatarHandler := &handler.AvatarHandler{}
router2 := NewRouter(
nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil,
avatarHandler,
)
assert.NotNil(t, router2)
assert.NotNil(t, router2.avatarHandler)
}
// TestRouter_StructFields 测试 router 结构体字段
func TestRouter_StructFields(t *testing.T) {
router := NewRouter(
nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil,
)
// 验证所有字段都被正确设置(即使为 nil
assert.NotNil(t, router.engine)
assert.Nil(t, router.authHandler)
assert.Nil(t, router.userHandler)
assert.Nil(t, router.roleHandler)
assert.Nil(t, router.permissionHandler)
assert.Nil(t, router.deviceHandler)
assert.Nil(t, router.logHandler)
assert.Nil(t, router.authMiddleware)
assert.Nil(t, router.rateLimitMiddleware)
assert.Nil(t, router.opLogMiddleware)
assert.Nil(t, router.ipFilterMiddleware)
}