UNPKG

skailan-conversations

Version:

Servicio de conversaciones y mensajería para Skailan

135 lines 5.12 kB
#!/usr/bin/env node "use strict"; const axios = require("axios"); const BASE_URL = "http://localhost:3007"; async function testTenantResolver() { console.log("🧪 Probando tenantResolver...\n"); try { // Test 1: Sin header x-tenant-id (debería fallar) console.log("📋 Test 1: Sin header x-tenant-id"); try { const response = await axios.post(`${BASE_URL}/webhook/telegram`, { update_id: 1, message: { message_id: 1, from: { id: 123, first_name: "Test User" }, chat: { id: 456, type: "private" }, date: Date.now() / 1000, text: "Hello", }, }); console.log("❌ ERROR: Debería haber fallado sin x-tenant-id"); } catch (error) { console.log("✅ Correcto: Falló sin x-tenant-id"); console.log(" Status:", error.response?.status); console.log(" Error:", error.response?.data?.error); } console.log("\n📋 Test 2: Con header x-tenant-id válido"); try { const response = await axios.post(`${BASE_URL}/webhook/telegram`, { update_id: 1, message: { message_id: 1, from: { id: 123, first_name: "Test User" }, chat: { id: 456, type: "private" }, date: Date.now() / 1000, text: "Hello", }, }, { headers: { "x-tenant-id": "test-organization-id", "Content-Type": "application/json", }, }); console.log("✅ Respuesta recibida:", response.status); console.log(" Data:", response.data); } catch (error) { console.log("❌ Error con x-tenant-id válido:"); console.log(" Status:", error.response?.status); console.log(" Error:", error.response?.data); } console.log("\n📋 Test 3: Endpoint de verificación (sin tenantResolver)"); try { const response = await axios.get(`${BASE_URL}/webhook/telegram`); console.log("✅ Endpoint de verificación funcionando"); console.log(" Status:", response.status); console.log(" Data:", response.data); } catch (error) { console.log("❌ Error en endpoint de verificación:"); console.log(" Status:", error.response?.status); console.log(" Error:", error.response?.data); } console.log("\n📋 Test 4: Test tenant endpoint"); try { const response = await axios.get(`${BASE_URL}/test-tenant`, { headers: { "x-tenant-id": "test-organization-id", }, }); console.log("✅ Test tenant funcionando"); console.log(" Status:", response.status); console.log(" Data:", response.data); } catch (error) { console.log("❌ Error en test tenant:"); console.log(" Status:", error.response?.status); console.log(" Error:", error.response?.data); } } catch (error) { console.error("❌ Error general:", error.message); } } async function testWebhookWithRealData() { console.log("\n🧪 Probando webhook con datos reales de Telegram...\n"); const telegramWebhookData = { update_id: 123456789, message: { message_id: 987, from: { id: 123456789, is_bot: false, first_name: "Juan", username: "juan_user", language_code: "es", }, chat: { id: 123456789, type: "private", first_name: "Juan", username: "juan_user", }, date: Math.floor(Date.now() / 1000), text: "Hola, ¿cómo estás?", }, }; try { const response = await axios.post(`${BASE_URL}/webhook/telegram`, telegramWebhookData, { headers: { "x-tenant-id": "test-organization-id", "Content-Type": "application/json", }, }); console.log("✅ Webhook procesado correctamente"); console.log(" Status:", response.status); console.log(" Response:", response.data); } catch (error) { console.log("❌ Error procesando webhook:"); console.log(" Status:", error.response?.status); console.log(" Error:", error.response?.data); } } async function main() { console.log("🚀 Iniciando pruebas de tenantResolver y webhook...\n"); await testTenantResolver(); await testWebhookWithRealData(); console.log("\n✅ Pruebas completadas"); } if (require.main === module) { main().catch(console.error); } //# sourceMappingURL=test-tenant-resolver.js.map