fix: harden avatar upload path and sync review truth

This commit is contained in:
Your Name
2026-05-29 07:33:19 +08:00
parent 9cc5892565
commit 80c59e2c2c
4 changed files with 139 additions and 3 deletions

View File

@@ -0,0 +1,33 @@
package handler
import (
"path/filepath"
"strings"
"testing"
)
func TestResolveAvatarUploadDir_DefaultRootBecomesAbsolute(t *testing.T) {
dir, err := resolveAvatarUploadDir("")
if err != nil {
t.Fatalf("resolveAvatarUploadDir() error = %v", err)
}
if !filepath.IsAbs(dir) {
t.Fatalf("resolveAvatarUploadDir() = %q, want absolute path", dir)
}
if !strings.HasSuffix(filepath.ToSlash(dir), "/uploads/avatars") {
t.Fatalf("resolveAvatarUploadDir() = %q, want suffix /uploads/avatars", dir)
}
}
func TestResolveAvatarUploadDir_CustomRootPreserved(t *testing.T) {
dir, err := resolveAvatarUploadDir("testdata/uploads-root")
if err != nil {
t.Fatalf("resolveAvatarUploadDir() error = %v", err)
}
if !filepath.IsAbs(dir) {
t.Fatalf("resolveAvatarUploadDir() = %q, want absolute path", dir)
}
if !strings.HasSuffix(filepath.ToSlash(dir), "/testdata/uploads-root/avatars") {
t.Fatalf("resolveAvatarUploadDir() = %q, want custom root suffix", dir)
}
}