Pipeline de Test End-to-End (E2E) - GroovyMorning
Ce pipeline valide le workflow complet :
- Détection audio par le segmenter Python.
- Notification via l’API Python (Socket.IO).
- Enregistrement par le backend Java.
- Disponibilité via l’API REST pour l’application Android.
Structure du Pipeline
2.RLAC-IAChronicleSegmenter/tests/: Tests unitaires Python (logique de détection).
1.RLAC-AudioRecorder/src/test/java/: Tests unitaires et d’intégration Java (Socket.IO, recording).
e2e/: Scripts et assets pour le test de bout en bout.
assets/test_flux.wav: Flux audio de test (10s silence + jingle 7h).
test_runner.py: Orchestrateur du test E2E.
Pré-requis
- Docker et Docker Compose.
- FFmpeg (pour générer les assets de test).
Lancer le Pipeline Complet
1. Tests Unitaires Python
cd 2.RLAC-IAChronicleSegmenter
. .venv/bin/activate
python tests/test_segmenter.py
2. Tests Unitaires Java
cd 1.RLAC-AudioRecorder
./gradlew test
3. Test End-to-End (Docker)
docker-compose -f docker-compose.e2e.yml up --build --abort-on-container-exit
Ce test va :
- Démarrer Postgres, l’API Python, le Backend Java et le Segmenter.
- Injecter un flux audio de test dans les pipes.
- Attendre la détection automatique du jingle “journal de 7h”.
- Vérifier que le Backend Java a bien enregistré la chronique pour l’utilisateur local.
Scénarios Couverts
Scénarios non couverts (en cours)
- Test UI Android automatisé (requiert un émulateur).
- Détection par mots-clés (Whisper) en environnement E2E (trop lent pour CI).