
- Harmonisation cryptographique API/SDK avec @noble/ciphers - Remplacement de crypto Node.js par @noble/ciphers pour compatibilité Python - Déchiffrement ChaCha20-Poly1305 maintenant fonctionnel - Synchronisation complète des 72 fichiers réussie - Fichiers déchiffrés correctement sauvegardés dans confs/ - SDK mis à jour avec API decrypt() au lieu de open() - Tests de déchiffrement et synchronisation validés
80 lines
2.5 KiB
JavaScript
80 lines
2.5 KiB
JavaScript
#!/usr/bin/env node
|
||
|
||
/**
|
||
* Test de la nouvelle fonctionnalité getRoutes() du SDK client
|
||
*/
|
||
|
||
const { createSecureVaultClient } = require('./dist/index.js');
|
||
|
||
async function testRoutes() {
|
||
console.log('🔐 Test de la fonctionnalité getRoutes()');
|
||
console.log('='.repeat(60));
|
||
|
||
try {
|
||
// 1. Création du client avec ID utilisateur
|
||
const client = createSecureVaultClient(
|
||
'https://vault.4nkweb.com:6666',
|
||
'demo_user_001' // ID utilisateur obligatoire
|
||
);
|
||
|
||
// 2. Test de connectivité via health
|
||
console.log('🔍 Test de connectivité...');
|
||
try {
|
||
await client.health();
|
||
console.log('✅ Connecté avec succès');
|
||
} catch (error) {
|
||
throw new Error('❌ Impossible de se connecter à l\'API');
|
||
}
|
||
|
||
// 3. Test de la nouvelle méthode getRoutes()
|
||
console.log('\n🛣️ Récupération des routes disponibles...');
|
||
const routes = await client.getRoutes();
|
||
|
||
console.log(`\n📋 Résultats:`);
|
||
console.log(` Total des routes: ${routes.total_routes}`);
|
||
console.log(` Utilisateur: ${routes.user_id}`);
|
||
console.log(` Timestamp: ${routes.timestamp}`);
|
||
console.log(` Type d'authentification: ${routes.authentication.type}`);
|
||
|
||
console.log('\n📝 Routes disponibles:');
|
||
routes.routes.forEach((route, index) => {
|
||
console.log(`\n ${index + 1}. ${route.method} ${route.path}`);
|
||
console.log(` Description: ${route.description}`);
|
||
console.log(` Authentification: ${route.authentication}`);
|
||
console.log(` Headers requis: ${route.headers_required.join(', ')}`);
|
||
console.log(` Type de réponse: ${route.response_type}`);
|
||
|
||
if (route.parameters) {
|
||
console.log(` Paramètres:`);
|
||
Object.entries(route.parameters).forEach(([key, value]) => {
|
||
console.log(` - ${key}: ${value}`);
|
||
});
|
||
}
|
||
|
||
if (route.examples && route.examples.length > 0) {
|
||
console.log(` Exemples:`);
|
||
route.examples.forEach(example => {
|
||
console.log(` - ${example}`);
|
||
});
|
||
}
|
||
});
|
||
|
||
console.log('\n✅ Test réussi - Toutes les routes ont été récupérées');
|
||
|
||
} catch (error) {
|
||
console.error('\n❌ Erreur lors du test:');
|
||
console.error(` Type: ${error.name}`);
|
||
console.error(` Message: ${error.message}`);
|
||
if (error.statusCode) {
|
||
console.error(` Code HTTP: ${error.statusCode}`);
|
||
}
|
||
if (error.code) {
|
||
console.error(` Code d'erreur: ${error.code}`);
|
||
}
|
||
process.exit(1);
|
||
}
|
||
}
|
||
|
||
// Exécution du test
|
||
testRoutes().catch(console.error);
|