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
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
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)
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user