package evidence import "testing" func TestKeyConfinement(t *testing.T) { for _, ref := range []string{"", ".", "..", "../other", "/other", "a/../../other", "a\\..\\other", "%2e%2e/other", "bad\x00key"} { if _, err := JoinKey("customer/documents", ref); err == nil { t.Errorf("accepted %q", ref) } if _, err := JoinKey(ref, "document"); err == nil { t.Errorf("accepted prefix %q", ref) } } got, err := JoinKey("customer/documents/", "passport/front") if err != nil || got != "customer/documents/passport/front" { t.Fatalf("got %q, %v", got, err) } }