4NK_vault/sdk-client/test-routes.js
4NK Dev f14057a623 ci: docker_tag=crypto-harmonized
- 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
2025-09-30 13:46:02 +00:00

80 lines
2.5 KiB
JavaScript
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.

#!/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);