seo-generator-server/tests/integration/README.md
StillHammer 96b0afc3bc Fix critical authentication and Digital Ocean integration issues
- 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>
2025-09-15 23:06:07 +08:00

152 lines
4.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔥 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 ?"*