thread-master/old/backend/internal/library/storage/asset_ref_test.go

35 lines
977 B
Go
Raw Normal View History

2026-07-09 03:45:28 +00:00
package storage
import "testing"
func TestNormalizeObjectKey(t *testing.T) {
bucket := "haixun-assets"
key := "avatars/default/uid.png"
cases := []struct {
name string
ref string
want string
}{
{name: "raw key", ref: key, want: key},
{name: "public path", ref: "/haixun-assets/" + key, want: key},
{name: "loopback url", ref: "http://127.0.0.1:9000/haixun-assets/" + key, want: key},
{name: "public site url", ref: "https://threads-tool.30cm.net/haixun-assets/" + key, want: key},
{name: "empty", ref: "", want: ""},
}
for _, tc := range cases {
t.Run(tc.name, func(t *testing.T) {
if got := NormalizeObjectKey(bucket, tc.ref); got != tc.want {
t.Fatalf("NormalizeObjectKey(%q) = %q, want %q", tc.ref, got, tc.want)
}
})
}
}
func TestPublicObjectPath(t *testing.T) {
if got := PublicObjectPath("haixun-assets", "avatars/default/uid.png"); got != "/haixun-assets/avatars/default/uid.png" {
t.Fatalf("unexpected path: %q", got)
}
}