test-sse.jsโข2.03 kB
// Test script voor SSE functionaliteit
const http = require('http');
console.log('๐งช Testing MCP Server SSE functionality...\n');
// Test 1: Health check
console.log('1๏ธโฃ Testing health endpoint...');
http.get('http://localhost:3000/health', (res) => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => {
console.log('โ
Health check response:', JSON.parse(data));
console.log('');
// Test 2: SSE connection
console.log('2๏ธโฃ Testing SSE endpoint...');
testSSE();
});
}).on('error', (err) => {
console.error('โ Health check failed:', err.message);
});
function testSSE() {
const req = http.request({
hostname: 'localhost',
port: 3000,
path: '/sse',
method: 'GET',
headers: {
'Accept': 'text/event-stream',
'Cache-Control': 'no-cache'
}
}, (res) => {
console.log('โ
SSE connection established');
console.log('๐ก Listening for events...\n');
let eventCount = 0;
res.on('data', (chunk) => {
const data = chunk.toString();
if (data.startsWith('data:')) {
eventCount++;
try {
const jsonData = JSON.parse(data.substring(5).trim());
console.log(`๐จ Event ${eventCount}:`, jsonData);
} catch (e) {
console.log(`๐จ Raw event ${eventCount}:`, data.trim());
}
// Stop na 3 events
if (eventCount >= 3) {
console.log('\nโ
SSE test completed successfully!');
req.destroy();
process.exit(0);
}
} else if (data.startsWith(':')) {
console.log('๐ Keep-alive ping received');
}
});
res.on('error', (err) => {
console.error('โ SSE error:', err);
});
});
req.on('error', (err) => {
console.error('โ SSE connection failed:', err.message);
});
req.end();
// Timeout na 20 seconden
setTimeout(() => {
console.log('\nโฐ Test timeout - stopping');
process.exit(0);
}, 20000);
}