seo-generator-server/tests/pipeline-simple-runner.js
StillHammer 4f60de68d6 Fix BatchProcessor initialization and add comprehensive test suite
- Fix BatchProcessor constructor to avoid server blocking during startup
- Add comprehensive integration tests for all modular combinations
- Enhance CLAUDE.md documentation with new test commands
- Update SelectiveLayers configuration for better LLM allocation
- Add AutoReporter system for test automation
- Include production workflow validation tests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 14:17:49 +08:00

88 lines
2.4 KiB
JavaScript

#!/usr/bin/env node
/**
* RUNNER SIMPLE POUR PIPELINE 4 PHASES
* Garantit la génération du rapport AutoReporter
*/
import { spawn } from 'child_process';
import { AutoReporter } from './reporters/AutoReporter.js';
// Configuration AutoReporter
const autoReporter = new AutoReporter();
console.log('🚀 RUNNER PIPELINE 4 PHASES - GÉNÉRATION RAPPORT GARANTIE');
console.log('📋 Workflow: Generation initial => adversarial => Heavy enhancement => human touch');
// Fonction pour exécuter le test
function runPipelineTest() {
return new Promise((resolve, reject) => {
console.log('\n🔄 === DÉMARRAGE TEST PIPELINE 4 PHASES ===');
// Lancer le test avec Node.js test runner
const testProcess = spawn('node', ['--test', 'tests/pipeline-4-phases-force-report.test.js'], {
cwd: process.cwd(),
stdio: 'pipe'
});
let stdout = '';
let stderr = '';
// Capturer stdout
testProcess.stdout.on('data', (data) => {
const output = data.toString();
stdout += output;
process.stdout.write(output); // Afficher en temps réel
});
// Capturer stderr
testProcess.stderr.on('data', (data) => {
const output = data.toString();
stderr += output;
process.stderr.write(output); // Afficher en temps réel
});
// Gestion fin de processus
testProcess.on('close', (code) => {
console.log(`\n✅ Test terminé avec code: ${code}`);
if (code === 0) {
console.log('🎉 Pipeline 4 phases exécuté avec succès !');
resolve({ stdout, stderr, code });
} else {
console.log('❌ Pipeline 4 phases a échoué');
reject(new Error(`Test failed with code ${code}`));
}
});
// Gestion erreurs
testProcess.on('error', (error) => {
console.error('❌ Erreur lors du lancement:', error.message);
reject(error);
});
});
}
// Exécution principale
async function main() {
try {
await runPipelineTest();
console.log('\n🎯 === VÉRIFICATION RAPPORT AUTO-REPORTER ===');
// Attendre un peu pour que AutoReporter finalise
await new Promise(resolve => setTimeout(resolve, 3000));
console.log('✅ Runner pipeline 4 phases terminé');
console.log('📊 Vérifiez le dossier reports/ pour le nouveau rapport');
process.exit(0);
} catch (error) {
console.error('\n❌ Erreur dans le runner:', error.message);
process.exit(1);
}
}
// Lancer
main();