openreader/tests/unit
Richard R a224efd9e3 refactor(admin): support keyless provider seeding and clarify API_KEY usage
Update provider seeding logic and documentation to allow creation of admin/shared providers without requiring an API key. Adjust environment variable handling so that a blank or missing API_KEY is valid when API_BASE is set, enabling support for upstream TTS providers that do not require authentication. Remove defaulting to 'none' for API keys in API routes and ensure headers are omitted when no key is present. Add and update tests to verify correct handling of keyless providers.

BREAKING CHANGE: Providers can now be seeded without an API key; API_KEY is no longer required if API_BASE is set. Existing deployments relying on a non-empty API_KEY for seeding should review their environment configuration.
2026-06-06 16:02:36 -06:00
..
support test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
admin-providers-validation.vitest.spec.ts refactor(admin): support keyless provider seeding and clarify API_KEY usage 2026-06-06 16:02:36 -06:00
admin-tts-instructions.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
audiobook-settings.vitest.spec.ts docs(intro): clarify open-source status and multilingual support in introduction 2026-06-06 12:19:28 -06:00
audiobook.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
audiobooks-blobstore.vitest.spec.ts refactor(core): improve streaming, validation, and rate limit logic 2026-05-30 16:41:17 -06:00
auth-config.vitest.spec.ts refactor(env): remove legacy no-auth mode and enforce required auth env vars 2026-05-31 12:09:37 -06:00
blob-upload-finalize-docx.vitest.spec.ts refactor(upload): unify docx-to-pdf conversion into finalize handler and remove legacy route 2026-06-04 13:00:05 -06:00
canonicalize-epub-segment.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
changelog-check.vitest.spec.ts refactor(api): remove all legacy unclaimed user scope logic and enforce strict userId scoping 2026-05-31 13:01:55 -06:00
changelog.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
docstore.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
document-cache.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
document-previews-render.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
document-settings.vitest.spec.ts feat(tts): add multilingual reader foundation 2026-06-06 06:18:50 -06:00
epub-audiobook-hook.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
epub-location-controller.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
epub-spine-coordinates.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
epub-word-highlight.vitest.spec.ts refactor(highlight): share multilingual token alignment 2026-06-06 10:45:19 -06:00
highlight-token-alignment.vitest.spec.ts perf(highlight): optimize exact token sequence matching for large documents 2026-06-06 11:41:47 -06:00
html-audiobook-adapter.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
html-blocks.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
icons-grid.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
kokoro.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
language.vitest.spec.ts feat(tts): add Replicate Kokoro language code resolution and input mapping 2026-06-06 15:51:02 -06:00
layout-metadata.vitest.spec.ts feat(shared): centralize origin validation logic and update metadata usage 2026-05-31 16:41:47 -06:00
legacy-fs-claim-cleanup.vitest.spec.ts feat(user): remove legacy local file deletion and add cleanup for claimed FS sources 2026-06-03 14:35:27 -06:00
nlp.vitest.spec.ts feat(tts): add multilingual reader foundation 2026-06-06 06:18:50 -06:00
onboarding-flow.vitest.spec.ts refactor(api): remove all legacy unclaimed user scope logic and enforce strict userId scoping 2026-05-31 13:01:55 -06:00
onboarding-state.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
pdf-audiobook-adapter.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
pdf-build-page-text.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
pdf-force-reparse.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
pdf-merge-text-with-regions.vitest.spec.ts feat: improve PDF parsing recovery and reader UI (#98) 2026-06-03 04:44:55 -06:00
pdf-op-key.vitest.spec.ts feat(pdf): introduce parser versioning and playback readiness state 2026-06-03 18:51:29 -06:00
pdf-parse-client-lifecycle.vitest.spec.ts test(pdf-parse): add unit tests for client lifecycle and worker route flows 2026-06-04 20:04:30 -06:00
pdf-parse-normalize-text-items.vitest.spec.ts feat: improve PDF parsing recovery and reader UI (#98) 2026-06-03 04:44:55 -06:00
pdf-parsed-events-route-worker-proxy.vitest.spec.ts refactor(pdf-parse): extract encodeParserVersion utility and strengthen artifact readiness 2026-06-04 20:46:02 -06:00
pdf-parsed-route-worker-flow.vitest.spec.ts refactor(pdf-parse): extract encodeParserVersion utility and strengthen artifact readiness 2026-06-04 20:46:02 -06:00
pdf-stitch-cross-page-blocks.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
pdf-tts-planning.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
rate-limit-runtime-settings.vitest.spec.ts docs(config): update environment variable docs for runtime JSON seed and remove legacy RUNTIME_SEED_* usage 2026-05-31 00:13:03 -06:00
request-ip.vitest.spec.ts feat(rate-limit): add per-user PDF parsing rate limiting and job event ledger 2026-05-30 14:17:49 -06:00
runtime-seed-json.vitest.spec.ts refactor(admin): support keyless provider seeding and clarify API_KEY usage 2026-06-06 16:02:36 -06:00
server-error-contract.vitest.spec.ts test(unit): migrate batch1 core contracts to vitest 2026-05-30 11:11:44 -06:00
server-error-response.vitest.spec.ts test(unit): migrate batch1 core contracts to vitest 2026-05-30 11:11:44 -06:00
server-route-error-mappings.vitest.spec.ts test(unit): migrate batch1 core contracts to vitest 2026-05-30 11:11:44 -06:00
setup-env.ts refactor(env): remove legacy no-auth mode and enforce required auth env vars 2026-05-31 12:09:37 -06:00
sha256.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
shared-form-control-consumers.vitest.spec.ts refactor(ui): enforce shared control primitives 2026-06-06 11:15:48 -06:00
shared-overlay-consumers.vitest.spec.ts refactor(ui): enforce shared control primitives 2026-06-06 11:15:48 -06:00
shared-provider-selection.vitest.spec.ts test(unit): migrate batch1 core contracts to vitest 2026-05-30 11:11:44 -06:00
shared-select-consumers.vitest.spec.ts refactor(ui): centralize standard select controls 2026-06-06 11:05:36 -06:00
signup-policy.vitest.spec.ts docs(config): update environment variable docs for runtime JSON seed and remove legacy RUNTIME_SEED_* usage 2026-05-31 00:13:03 -06:00
test-namespace-gate.vitest.spec.ts feat(rate-limit): add per-user PDF parsing rate limiting and job event ledger 2026-05-30 14:17:49 -06:00
transfer-user-documents.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-audio-warm-cache.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-epub-handoff.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-epub-preload.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-generate.vitest.spec.ts feat(tts): add Replicate Kokoro language code resolution and input mapping 2026-06-06 15:51:02 -06:00
tts-locator.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-provider-catalog.vitest.spec.ts feat(tts): add Replicate Kokoro language code resolution and input mapping 2026-06-06 15:51:02 -06:00
tts-segment-audio-urls.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segment-plan-leading.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segment-plan.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segment-retry-policy.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segments-audio-cache.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segments-manifest.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segments.vitest.spec.ts feat(tts): add multilingual reader foundation 2026-06-06 06:18:50 -06:00
tts-settings-admin-view-model.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
user-preferences-normalize.vitest.spec.ts fix(config): prevent arrays from being treated as records in preference normalization 2026-06-06 15:55:54 -06:00
user-preferences-sync.vitest.spec.ts refactor(config): centralize provider default resolution and simplify user preference inheritance 2026-06-06 15:25:10 -06:00
walker-theme.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
whisper-alignment-mapping.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
whisper-spectral.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
whisper-token-timestamps.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00