Files
pure-note/internal/config/config_test.go
T
wangairnan 247e88c4fb 后端基础层:模块定义、配置解析、SQLite 存储层、Argon2id 认证与 Markdown 渲染
- internal/config:serve/init/backup/gc 子命令参数解析(--dev 强制 loopback 守卫)
- internal/store:user_version 版本化迁移(仅追加式 + 越界拒启 + --allow-newer)、
  笔记/图片/引用/会话/设置 DAO、并集可见性查询、VACUUM INTO 在线备份、
  回收站 30 天 + 孤儿图 7 天宽限 gc
- internal/auth:Argon2id PHC 串(m=19456,t=2,p=1)、256bit token 与 SHA-256 摘要
- internal/markdown:goldmark(默认转义)+ bluemonday 双保险,摘要纯文本提取
- internal/middleware:安全头(CSP/HSTS/nosniff 等)、错误日志、
  有界令牌桶限流(per-IP 桶上限 + TTL 逐出)、Origin/Referer 同源校验
2026-09-08 08:14:12 +08:00

24 lines
811 B
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 config
import "testing"
func TestDevLoopbackGuard(t *testing.T) {
// --dev 强制 loopback(§7.3-8)
if _, err := ParseServe([]string{"--dev", "--addr", ":8080"}); err == nil {
t.Error("--dev + 0.0.0.0 应拒绝启动")
}
if _, err := ParseServe([]string{"--dev", "--addr", "192.168.1.5:8080"}); err == nil {
t.Error("--dev + 局域网地址应拒绝启动")
}
if _, err := ParseServe([]string{"--dev", "--addr", "127.0.0.1:8080"}); err != nil {
t.Errorf("--dev + 127.0.0.1 应允许: %v", err)
}
if _, err := ParseServe([]string{"--dev", "--addr", "localhost:8080"}); err != nil {
t.Errorf("--dev + localhost 应允许: %v", err)
}
// 非 dev 不限制
if _, err := ParseServe([]string{"--addr", ":8080"}); err != nil {
t.Errorf("非 dev 任意地址应允许: %v", err)
}
}