[Phase 5] Tests unitaires pour fractal-stt #321

Open
opened 2026-04-06 13:59:46 +00:00 by charles · 0 comments
Owner

Contexte

Toutes les crates du workspace ont une issue de couverture de tests unitaires (fractal-core #319, fractal-gtk #320, fractal-ai #316, fractal-rich #317, fractal-bridge #318), mais fractal-stt n'en a pas encore.

Critères d'acceptation

  • Tests unitaires pour le trait SttEngine (mock engine)
  • Tests de parsing de la sortie JSON de Whisper → Transcript
  • Tests de la structure AudioData et TranscriptSegment
  • Tests du cache SQLite (stockage/récupération par event_id)
  • Tests du WhisperEngine (avec binary mocké ou en intégration)
  • Tests du VoskEngine (si disponible en CI)
  • Tests de health_check() et supported_languages() pour chaque moteur
  • Couverture de la conversion audio via pipeline GStreamer (test d'intégration)

Notes techniques

  • Crate : crates/fractal-stt/
  • Trait central : SttEngine (ST-M1-02 dans les specs)
  • Le WhisperEngine appelle un subprocess — utiliser un binaire mock ou feature flag #[cfg(test)]
  • Le cache SQLite peut être testé en mémoire (sqlite::open(":memory:"))
  • Lier à #185 (trait SttEngine) et #212 (pipeline audio + cache SQLite)
## Contexte Toutes les crates du workspace ont une issue de couverture de tests unitaires (fractal-core #319, fractal-gtk #320, fractal-ai #316, fractal-rich #317, fractal-bridge #318), mais `fractal-stt` n'en a pas encore. ## Critères d'acceptation - [ ] Tests unitaires pour le trait `SttEngine` (mock engine) - [ ] Tests de parsing de la sortie JSON de Whisper → `Transcript` - [ ] Tests de la structure `AudioData` et `TranscriptSegment` - [ ] Tests du cache SQLite (stockage/récupération par `event_id`) - [ ] Tests du `WhisperEngine` (avec binary mocké ou en intégration) - [ ] Tests du `VoskEngine` (si disponible en CI) - [ ] Tests de `health_check()` et `supported_languages()` pour chaque moteur - [ ] Couverture de la conversion audio via pipeline GStreamer (test d'intégration) ## Notes techniques - Crate : `crates/fractal-stt/` - Trait central : `SttEngine` (ST-M1-02 dans les specs) - Le `WhisperEngine` appelle un subprocess — utiliser un binaire mock ou feature flag `#[cfg(test)]` - Le cache SQLite peut être testé en mémoire (`sqlite::open(":memory:")`) - Lier à #185 (trait SttEngine) et #212 (pipeline audio + cache SQLite)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#321
No description provided.