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) } }