Files
go_blog/models/db_test.go
kevin f307781f58 docs: 全部 Go 代码注释汉化
- 48 个 Go 文件所有注释(行注释/块注释/行尾注释,含 _test.go)翻译为中文
- 保留技术标识符:SECURITY_TODO(n)、unsafe-inline、sqlite/mysql、路由参数等
- 代码、字符串字面量、日志消息保持英文原文,零逻辑改动
- go build/vet 通过,go test -count=1 ./... 全绿
2026-08-27 19:03:03 +08:00

33 lines
903 B
Go

package models
import (
"strings"
"testing"
)
// TestRandomAdminPassword 覆盖 SECURITY_TODO #12:首次运行的管理员密码
// 来自无歧义安全的字符表、长度固定,且每次生成结果不同。
func TestRandomAdminPassword(t *testing.T) {
pw := randomAdminPassword()
if len(pw) != 16 {
t.Fatalf("password length = %d, want 16", len(pw))
}
for _, c := range pw {
if !strings.ContainsRune(adminPasswordAlphabet, c) {
t.Fatalf("password contains rune %q outside alphabet", c)
}
}
if pw == randomAdminPassword() {
t.Fatal("two generated passwords are identical")
}
}
// TestGravatarOffByDefault 覆盖 SECURITY_TODO #15:新部署不得将 MD5(邮箱)
// 泄露给 Gravatar,除非管理员明确启用。
func TestGravatarOffByDefault(t *testing.T) {
cc := defaultCommentConfig()
if cc.UseGravatar {
t.Fatal("default CommentConfig enables Gravatar")
}
}