- 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>
4.6 KiB
4.6 KiB
🔥 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
# 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
# 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 :
- Cohérence Main.js/StepExecutor - ⚠️ BLOQUANT
- Options HTML appliquées - ⚠️ BLOQUANT
- APIs fonctionnelles - ⚠️ BLOQUANT
- 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
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 :
- Testent vraiment le comportement utilisateur final
- Valident la cohérence entre tous les composants
- Utilisent de vraies données et APIs
- Mesurent la qualité réelle du contenu produit
- 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 ?"