Files
Havline/internal/nginx/syntax_test.go
T
mrlee 278f8267b7 chore: 初始提交 Fonu 1.0.2
- 公网反代:Nginx 状态卡片(版本 / 运行状态 / 配置校验 / 端口监听)
- 部署设置第一、二梯队(HTTPS 开关、安全头、限流、连接数、仅中国大陆 IP)
- 隧道检测兼容 frps v0.68 / v0.71(V2 与旧版端点)
- 恢复被清空的 internal/frp/store.go、internal/api/ddns_handler.go、web/src/views/DdnsView.vue
2026-09-23 09:40:59 +08:00

45 lines
948 B
Go

package nginx
import "testing"
func TestValidateConfigSyntax(t *testing.T) {
valid := `server {
listen 80;
location / {
proxy_pass http://127.0.0.1:8080;
}
}`
if err := ValidateConfigSyntax(valid); err != nil {
t.Fatalf("expected valid config: %v", err)
}
cases := []struct {
name string
content string
}{
{"garbage line", "server {\n 1 1\n}\n"},
{"missing semicolon", "server {\n listen 80\n}\n"},
{"unbalanced brace", "server {\n listen 80;\n"},
}
for _, tc := range cases {
t.Run(tc.name, func(t *testing.T) {
if err := ValidateConfigSyntax(tc.content); err == nil {
t.Fatalf("expected error for %q", tc.name)
}
})
}
t.Run("allows comment lines", func(t *testing.T) {
content := `# 规则:测试
server {
# 监听 80
listen 80;
}
# HTTP 跳转
`
if err := ValidateConfigSyntax(content); err != nil {
t.Fatalf("expected comments to pass: %v", err)
}
})
}