Commit Graph
3 Commits
Author SHA1 Message Date
rin.kagamine 674abbbe8f test: add auth endpoint tests for single/multi mode
- 14 tests covering auth flow in both modes:
  - TestSingleMode: health shows single, /me returns null user, clips accessible without auth
  - TestMultiModeAuth: health shows multi, /me requires auth, clips require auth,
    admin login, wrong password, nonexistent user, valid token /me,
    clips with valid token, register with invite, invalid invite, duplicate username
- Tests require librosa (same as existing test_api.py) — pass in Docker CI
- Conftest fixture pattern matches existing app_client fixture
2026-05-31 12:24:22 -04:00
rin.kagamine 816f8fbd2f refactor: rename project Lyria Studio → Kithara Studio
- App name, UI text, page titles → Kithara Studio
- Python module: lyria_client.py → kithara_client.py
- Tailwind color classes: lyria-* → kithara-*
- CSS custom properties: --lyria-* → --kithara-*
- Database: lyria.db → kithara.db
- Package name: kithara-studio-frontend
- localStorage key: kithara-saved-searches
- Add project logo (lyre icon, black on transparent, invert via CSS)

Preserved as Google's property:
- LYRIA_API_KEY, LYRIA_BASE_URL, LYRIA_DEFAULT_MODEL env vars
- LYRIA_MODELS dict and model IDs (lyria-3-clip-preview, lyria-3-pro-preview)
- Google Lyria API references in error messages and docstrings
2026-05-31 09:45:22 -04:00
rin.kagamine 6c1e1b4509 Add test suite for Lyria Studio backend
- conftest.py: isolated async test fixtures with temp DB and directories
- test_waveform.py: waveform generation, downsampling, caching, SVG output
- test_api.py: full API endpoint tests (health, models, clips CRUD,
  waveform endpoint, admin cache clearing)
- test_analysis.py: BPM detection, key detection, clip analysis
- test_models.py: request validation, model registry, prompt building

- Fixed off-by-one in waveform.py downsampling (linspace upper bound)
- All 40 tests passing
2026-05-31 08:26:01 -04:00