mirror of
https://github.com/photoprism/photoprism.git
synced 2026-07-17 16:49:04 +00:00
TestIsWebDAVPath hardcoded the "/i/" proxy prefix, so it failed when proxy.DefaultPathPrefix changed. Build the proxy cases from proxy.PathPrefix, the same value IsWebDAVPath uses, so they track the configured prefix.
35 lines
1.3 KiB
Go
35 lines
1.3 KiB
Go
package server
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/photoprism/photoprism/pkg/http/proxy"
|
|
)
|
|
|
|
func TestIsWebDAVPath(t *testing.T) {
|
|
// Derive proxy paths from the configured prefix so the cases stay valid
|
|
// regardless of the proxy.PathPrefix / proxy.DefaultPathPrefix value.
|
|
tests := []struct {
|
|
name string
|
|
path string
|
|
basePaths []string
|
|
want bool
|
|
}{
|
|
{name: "RootOriginals", path: "/originals", want: true},
|
|
{name: "RootImportChild", path: "/import/folder/file.jpg", want: true},
|
|
{name: "ProxyOriginals", path: proxy.PathPrefix + "acme/originals/", want: true},
|
|
{name: "ProxyImport", path: proxy.PathPrefix + "acme/import/a.jpg", want: true},
|
|
{name: "CustomBaseOriginals", path: "/instance-a/originals/album", basePaths: []string{"/instance-a/originals", "/instance-a/import"}, want: true},
|
|
{name: "CustomBaseImport", path: "/instance-a/import", basePaths: []string{"/instance-a/originals", "/instance-a/import"}, want: true},
|
|
{name: "LibraryPath", path: "/library/browse", want: false},
|
|
{name: "ProxyNonDAV", path: proxy.PathPrefix + "acme/library", want: false},
|
|
}
|
|
|
|
for _, tc := range tests {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
if got := IsWebDAVPath(tc.path, tc.basePaths...); got != tc.want {
|
|
t.Fatalf("IsWebDAVPath(%q) = %v, want %v", tc.path, got, tc.want)
|
|
}
|
|
})
|
|
}
|
|
}
|