T.ME/BIBIL_0DAY
CasperSecurity


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.ca/public_html/scripts/test-realtime.js
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(); 

CasperSecurity Mini