Files
sxchnge/backend/internal/evidence/key_test.go
T

19 lines
573 B
Go

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