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

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 :

  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

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 ?"