![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.ca/public_html/scripts/ |
const WebSocket = require('ws');
async function testRealTime() {
console.log('š Testing Real-Time Messaging...\n');
try {
// Create two WebSocket connections to simulate two users
const ws1 = new WebSocket('ws://localhost:3000?userId=user1&userRole=USER&chatRoomId=test-room');
const ws2 = new WebSocket('ws://localhost:3000?userId=user2&userRole=ADMIN&chatRoomId=test-room');
let ws1Connected = false;
let ws2Connected = false;
let messageReceived = false;
ws1.on('open', () => {
console.log('ā
User 1 connected');
ws1Connected = true;
if (ws2Connected) {
// Send a test message from user 1
setTimeout(() => {
const testMessage = {
type: 'CHAT_MESSAGE',
data: {
id: Date.now().toString(),
content: 'Hello from User 1!',
type: 'TEXT',
chatRoomId: 'test-room',
senderName: 'User 1',
senderId: 'user1',
createdAt: new Date().toISOString(),
user: {
id: 'user1',
name: 'User 1',
email: 'user1@test.com',
role: 'USER'
}
}
};
ws1.send(JSON.stringify(testMessage));
console.log('š¤ User 1 sent message');
}, 1000);
}
});
ws2.on('open', () => {
console.log('ā
User 2 connected');
ws2Connected = true;
if (ws1Connected) {
// Send a test message from user 1
setTimeout(() => {
const testMessage = {
type: 'CHAT_MESSAGE',
data: {
id: Date.now().toString(),
content: 'Hello from User 1!',
type: 'TEXT',
chatRoomId: 'test-room',
senderName: 'User 1',
senderId: 'user1',
createdAt: new Date().toISOString(),
user: {
id: 'user1',
name: 'User 1',
email: 'user1@test.com',
role: 'USER'
}
}
};
ws1.send(JSON.stringify(testMessage));
console.log('š¤ User 1 sent message');
}, 1000);
}
});
ws1.on('message', (data) => {
const message = JSON.parse(data);
console.log('šØ User 1 received:', message.type, message.data?.content);
if (message.type === 'CHAT_MESSAGE') {
messageReceived = true;
}
});
ws2.on('message', (data) => {
const message = JSON.parse(data);
console.log('šØ User 2 received:', message.type, message.data?.content);
if (message.type === 'CHAT_MESSAGE') {
messageReceived = true;
}
});
ws1.on('error', (error) => {
console.error('ā User 1 WebSocket error:', error.message);
});
ws2.on('error', (error) => {
console.error('ā User 2 WebSocket error:', error.message);
});
// Wait for test to complete
setTimeout(() => {
if (messageReceived) {
console.log('\nš Real-time messaging is working!');
} else {
console.log('\nā Real-time messaging failed - no messages received');
}
ws1.close();
ws2.close();
process.exit(0);
}, 3000);
} catch (error) {
console.error('ā Error testing real-time messaging:', error);
process.exit(1);
}
}
testRealTime();