Files
jiang13-bbs/backend/router/router_test.go
freefire 1d862a0dd3 feat: 站点媒体库与移动端底部导航,服务测试补强
- 新增媒体库:media_library/media_thumbs 服务(WebP 缩略图)、管理端 media 页面
- 移动端底部导航 MobileTabBar 替换 MobilePostBar
- 旧数据导入增强与测试、路由与登录会话/板块侧边栏测试补强
- site-doc 组件精简(移除 Breadcrumb),文档新增迁移公告说明
2026-09-27 02:36:11 +08:00

34 lines
1.0 KiB
Go

package router
import (
"reflect"
"testing"
)
// TestParseTrustedProxies 覆盖:合法 CIDR/IP/localhost、空白容忍、空项、非法条目跳过
func TestParseTrustedProxies(t *testing.T) {
cases := []struct {
name string
in string
want []string
}{
{"未配置", "", nil},
{"单个网段", "172.19.0.0/16", []string{"172.19.0.0/16"}},
// 真实事故:尾随空格曾导致 invalid CIDR 整进程退出
{"尾随空格", "172.19.0.0/16 ", []string{"172.19.0.0/16"}},
{"两侧空白与空项", " 172.19.0.0/16 , 10.0.0.5 ,", []string{"172.19.0.0/16", "10.0.0.5"}},
{"单个 IP", "10.0.0.5", []string{"10.0.0.5"}},
{"localhost", "localhost", []string{"localhost"}},
{"非法条目跳过", "172.19.0.0/16,bad-cidr", []string{"172.19.0.0/16"}},
{"全部非法", "bad,,worse", nil},
}
for _, c := range cases {
t.Run(c.name, func(t *testing.T) {
got := parseTrustedProxies(c.in)
if !reflect.DeepEqual(got, c.want) {
t.Errorf("parseTrustedProxies(%q) = %v, want %v", c.in, got, c.want)
}
})
}
}