#!/usr/bin/env node /** * Client de test pour l'API filigrane */ import dotenv from 'dotenv'; import { fileURLToPath } from 'url'; import { dirname, join } from 'path'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); dotenv.config({ path: join(__dirname, '../.env') }); const API_URL = process.env.WATERMARK_API_URL || 'http://localhost:3022'; const API_KEY = process.env.API_KEYS?.split(',')[0] || 'test-api-key'; async function testHealth() { console.log('🔍 Test de santĂ©...'); try { const response = await fetch(`${API_URL}/health`); const data = await response.json(); console.log('✅ Health check:', data); return true; } catch (error) { console.error('❌ Erreur health check:', error.message); return false; } } async function testWatermarkWithText() { console.log('\n🔍 Test filigrane avec texte...'); try { const textContent = 'Ceci est un test de filigrane avec du texte.'; const watermarkOptions = { enabled: true, text: 'Test filigrane', dateUTC: true, dateLocal: true, blockNumber: false, blockHash: false, documentHash: true, }; const response = await fetch(`${API_URL}/api/watermark/document`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-api-key': API_KEY, }, body: JSON.stringify({ apiKey: API_KEY, textContent, watermarkOptions, }), }); const data = await response.json(); if (response.ok && data.success) { console.log('✅ Filigrane avec texte rĂ©ussi !'); console.log(' - Document original TXID:', data.original.txid); console.log(' - Document filigranĂ© TXID:', data.watermarked.txid); console.log(' - Fichier original:', data.original.file.name); console.log(' - Fichier filigranĂ©:', data.watermarked.file.name); return true; } else { console.error('❌ Erreur filigrane:', data); return false; } } catch (error) { console.error('❌ Erreur test filigrane:', error.message); return false; } } async function main() { console.log('🚀 Tests de l\'API filigrane\n'); console.log(`API URL: ${API_URL}`); console.log(`API Key: ${API_KEY.substring(0, 10)}...\n`); const healthOk = await testHealth(); if (!healthOk) { console.error('❌ Le service n\'est pas disponible'); process.exit(1); } // Note: Le test avec filigrane nĂ©cessite que l'API d'ancrage soit accessible // et que la clĂ© API soit valide console.log('\n⚠ Note: Le test de filigrane nĂ©cessite que l\'API d\'ancrage soit accessible'); console.log(' et que la clĂ© API soit valide dans les deux APIs.\n'); // Test simple de santĂ© seulement pour l'instant console.log('✅ Tests de base rĂ©ussis !'); } main().catch(console.error);