- Fixed OpenAI API key hardcoding in BrainConfig.js causing 401 errors - Implemented proper Digital Ocean Spaces integration with AWS SDK - Added deployArticle() function for HTML upload - Fixed fetchXMLFromDigitalOcean() to retrieve from correct path - Direct access to root bucket instead of wp-content/XML/ - Added aws-sdk dependency for S3-compatible operations - Created comprehensive integration test suite - Validated complete workflow: Google Sheets → DO XML → Processing All external systems now operational: ✅ Google Sheets auth and data retrieval ✅ Digital Ocean Spaces upload/download ✅ XML template processing ✅ LLM API authentication 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
152 lines
4.6 KiB
Markdown
152 lines
4.6 KiB
Markdown
# 🔥 Tests d'Intégration RÉELS
|
||
|
||
Ces tests valident le **comportement réel** du système, contrairement aux tests unitaires superficiels.
|
||
|
||
## 🎯 Objectif
|
||
|
||
Vérifier que :
|
||
- **Main.js et StepExecutor** utilisent vraiment les mêmes fonctions
|
||
- **Options HTML** sont réellement appliquées (pas juste passées)
|
||
- **Nouvelles APIs** fonctionnent en cohérence avec le reste
|
||
- **Contenu généré** est de vraie qualité professionnelle
|
||
- **Système complet** est prêt pour la production
|
||
|
||
## 📋 Tests Disponibles
|
||
|
||
### 1. `real-workflow.test.js` - Workflow complet
|
||
- ✅ Cohérence Main.js ↔ StepExecutor
|
||
- ✅ Options HTML vraiment appliquées
|
||
- ✅ Mapping des modes (light→lightDefense)
|
||
- ✅ Workflow end-to-end complet
|
||
- ✅ Performance et robustesse
|
||
|
||
### 2. `api-consistency.test.js` - Cohérence APIs
|
||
- ✅ Step-by-step vs Generate-simple
|
||
- ✅ Options selectiveStack dans step-by-step
|
||
- ✅ Adversarial mode mapping
|
||
- ✅ APIs status et monitoring
|
||
- ✅ Gestion erreurs robuste
|
||
|
||
### 3. `content-quality.test.js` - Qualité contenu
|
||
- ✅ Contenu professionnel (validation IA)
|
||
- ✅ Variations cohérentes entre stacks
|
||
- ✅ Personnalités réellement appliquées
|
||
- ✅ Structure et mots-clés
|
||
|
||
## 🚀 Lancement
|
||
|
||
### Tests individuels
|
||
```bash
|
||
# Test workflow complet
|
||
node --test tests/integration/real-workflow.test.js
|
||
|
||
# Test cohérence APIs
|
||
node --test tests/integration/api-consistency.test.js
|
||
|
||
# Test qualité contenu
|
||
node --test tests/integration/content-quality.test.js
|
||
```
|
||
|
||
### Tests complets avec runner
|
||
```bash
|
||
# Via npm (recommandé)
|
||
npm run test:real
|
||
npm run test:critical
|
||
|
||
# Direct
|
||
node tests/integration/run-integration-tests.js
|
||
```
|
||
|
||
## 📊 Que valident ces tests ?
|
||
|
||
### ❌ Ce que les anciens TU ne testaient PAS :
|
||
- Les options HTML étaient-elles vraiment appliquées ?
|
||
- Main.js et StepExecutor utilisaient-ils les mêmes fonctions ?
|
||
- Le contenu généré était-il de qualité ?
|
||
- Les nouvelles APIs fonctionnaient-elles en cohérence ?
|
||
|
||
### ✅ Ce que ces tests valident VRAIMENT :
|
||
- **Comportement réel** avec vraies données LLM
|
||
- **Cohérence système** entre tous les composants
|
||
- **Qualité contenu** avec validation IA
|
||
- **Performance** et robustesse production
|
||
- **Alignement** step-by-step ↔ automatique
|
||
|
||
## 🎯 Critères de Réussite
|
||
|
||
### Tests CRITIQUES qui DOIVENT passer :
|
||
1. **Cohérence Main.js/StepExecutor** - ⚠️ BLOQUANT
|
||
2. **Options HTML appliquées** - ⚠️ BLOQUANT
|
||
3. **APIs fonctionnelles** - ⚠️ BLOQUANT
|
||
4. **Contenu qualité minimale** - 📊 60/100 requis
|
||
|
||
### Si tests échouent :
|
||
```
|
||
🚨 SYSTÈME NON PRÊT POUR PRODUCTION
|
||
Corriger les problèmes identifiés avant déploiement
|
||
```
|
||
|
||
### Si tests réussissent :
|
||
```
|
||
🎉 SYSTÈME VALIDÉ ET PRÊT POUR PRODUCTION
|
||
Tous les composants sont cohérents et fonctionnels
|
||
```
|
||
|
||
## 🔧 Configuration Tests
|
||
|
||
### Variables d'environnement
|
||
```bash
|
||
NODE_ENV=test # Mode test
|
||
LOG_LEVEL=INFO # Réduire verbosité
|
||
TEST_TIMEOUT=300000 # 5min pour tests longs
|
||
```
|
||
|
||
### Données de test
|
||
- **Scénarios réalistes** : plaque personnalisée, formation web, etc.
|
||
- **Vraies personnalités** : Marc (technique), Sophie (déco), Laurent (commercial)
|
||
- **Templates XML réels** avec instructions embedded
|
||
|
||
## 🚨 Points d'Attention
|
||
|
||
### Durée des tests
|
||
- Tests complets : **10-15 minutes**
|
||
- Appels LLM réels : peut varier selon charge réseau
|
||
- Timeout généreux : 5 minutes par test
|
||
|
||
### Dépendances
|
||
- **APIs LLM** : OpenAI, Claude, Deepseek, etc.
|
||
- **Google Sheets** : pour scénarios de données réelles
|
||
- **Réseau** : pour appels externes
|
||
|
||
### Échecs possibles
|
||
- **Rate limiting LLM** : attendre et relancer
|
||
- **Timeout réseau** : vérifier connectivité
|
||
- **Quota dépassé** : vérifier limites APIs
|
||
|
||
## 📈 Interprétation Résultats
|
||
|
||
### Scores qualité contenu
|
||
- **80-100** : Excellent, prêt production
|
||
- **60-79** : Bon, acceptable production
|
||
- **40-59** : Moyen, amélioration recommandée
|
||
- **<40** : Insuffisant, ⚠️ BLOQUANT
|
||
|
||
### Performance
|
||
- **<60s** : Excellent
|
||
- **60-120s** : Bon
|
||
- **120-300s** : Acceptable
|
||
- **>300s** : Lent, optimisation recommandée
|
||
|
||
---
|
||
|
||
## 💡 Pourquoi ces tests sont-ils importants ?
|
||
|
||
Contrairement aux tests unitaires générés automatiquement, ces tests d'intégration :
|
||
|
||
1. **Testent vraiment** le comportement utilisateur final
|
||
2. **Valident la cohérence** entre tous les composants
|
||
3. **Utilisent de vraies données** et APIs
|
||
4. **Mesurent la qualité réelle** du contenu produit
|
||
5. **Garantissent** que le système est prêt pour la production
|
||
|
||
**En bref** : Ces tests répondent à la question *"Est-ce que ça marche vraiment ?"* plutôt que *"Est-ce que le code se charge ?"* |