- 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)
58 lines
1.5 KiB
Go
58 lines
1.5 KiB
Go
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)
|
||
}
|