Files
voicebox/backend/tests
Jamie Pine 9b0e024d3b Add cloud key store, API client, and sync identity flows
cloud_keys: device private key + master key live in the OS keychain
(keyring), namespaced per cloud account — never in the local DB. Headless
installs without a keychain get a hard error, not a plaintext fallback.

cloud_api: async httpx client for the bearer-key surface (devices,
account-key escrow, object push/commit, sync pull). Presigned blob
transfers use a separate unauthenticated client so the bearer key never
reaches the storage host.

cloud_account: the design-doc §9 flows — first-device setup mints MK +
recovery phrase (returned for one-time display), later devices register
and either adopt a wrapped MK provisioned by an existing device or
restore from the phrase. sync_device_id lands on cloud_settings with an
idempotent migration.

Tests run the real flows against an in-process fake cloud and assert the
master key and phrase never appear in any request body. A full round-trip
integration test (encrypt -> push -> pull -> decrypt -> tombstone) runs
against a live dev server when VOICEBOX_CLOUD_TEST_API/KEY are set.
2026-07-01 15:02:11 -07:00
..
2026-04-18 16:19:12 -07:00
2026-01-30 16:48:14 -08:00
2026-03-16 01:46:19 -07:00

Backend Tests

Manual test scripts for debugging and validating backend functionality.

Test Files

test_generation_progress.py

Tests TTS generation with SSE progress monitoring to identify UX issues where users see download progress even when the model is already cached.

Usage:

cd backend
python tests/test_generation_progress.py

Prerequisites:

  • Server must be running (python main.py)
  • At least one voice profile must exist

test_real_download.py

Tests real model download with SSE progress monitoring.

Usage:

cd backend
# Delete cache first to force fresh download
rm -rf ~/.cache/huggingface/hub/models--openai--whisper-base
python tests/test_real_download.py

Prerequisites:

  • Server must be running (python main.py)

test_progress.py

Unit tests for ProgressManager and HFProgressTracker functionality.

Usage:

cd backend
python tests/test_progress.py

test_check_progress_state.py

Debugging script to inspect the internal state of ProgressManager and TaskManager.

Usage:

cd backend
python tests/test_check_progress_state.py

Notes

These are manual test scripts, not automated unit tests. They're designed for:

  • Debugging progress tracking issues
  • Validating SSE event streams
  • Monitoring real-time download behavior
  • Inspecting internal state during development