ultisuite-backend/internal/nextcloud/users_test.go
R3D347HR4Y cd0a80f5e8 huhu
2026-05-25 13:52:27 +02:00

43 lines
1.1 KiB
Go

package nextcloud
import "testing"
func TestUserIDFromClaimsPrefersEmail(t *testing.T) {
got := UserIDFromClaims("User@Example.com", "opaque-sub")
if got != "user@example.com" {
t.Fatalf("UserIDFromClaims() = %q", got)
}
}
func TestUserIDFromClaimsFallbackSub(t *testing.T) {
got := UserIDFromClaims("", "opaque-sub")
if got != "opaque-sub" {
t.Fatalf("UserIDFromClaims() = %q", got)
}
}
func TestNormalizeDAVHref(t *testing.T) {
got := normalizeDAVHref("/cloud/remote.php/dav/addressbooks/users/alice/contacts/")
want := "/remote.php/dav/addressbooks/users/alice/contacts/"
if got != want {
t.Fatalf("normalizeDAVHref() = %q, want %q", got, want)
}
}
func TestDavResponseErrorNotFound(t *testing.T) {
raw := []byte(`<?xml version="1.0"?><d:error xmlns:d="DAV:"><d:message>missing</d:message></d:error>`)
if err := davResponseError(raw, 404); err != ErrPrincipalNotFound {
t.Fatalf("davResponseError() = %v", err)
}
}
func TestGenerateNextcloudPassword(t *testing.T) {
pw, err := generateNextcloudPassword()
if err != nil {
t.Fatal(err)
}
if len(pw) < 24 {
t.Fatalf("password too short: %d", len(pw))
}
}