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(`missing`) 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)) } }