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.quebec/private_html/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.quebec/private_html/scripts/test-api.js
const http = require('http');

function makeRequest(path) {
  return new Promise((resolve, reject) => {
    const options = {
      hostname: 'localhost',
      port: 3000,
      path: path,
      method: 'GET',
      headers: {
        'Content-Type': 'application/json'
      }
    };

    const req = http.request(options, (res) => {
      let data = '';
      res.on('data', (chunk) => {
        data += chunk;
      });
      res.on('end', () => {
        try {
          const jsonData = JSON.parse(data);
          resolve({ status: res.statusCode, data: jsonData });
        } catch (error) {
          resolve({ status: res.statusCode, data: data });
        }
      });
    });

    req.on('error', (error) => {
      reject(error);
    });

    req.end();
  });
}

async function testAPI() {
  try {
    console.log('Testing chat API endpoints...\n');

    // Test 1: Get chat rooms
    console.log('1. Testing GET /api/chat/rooms...');
    try {
      const roomsResponse = await makeRequest('/api/chat/rooms');
      console.log(`Status: ${roomsResponse.status}`);
      if (roomsResponse.status === 200) {
        const rooms = roomsResponse.data;
        console.log(`Found ${rooms.length} rooms`);
        rooms.forEach(room => {
          console.log(`  - ${room.name} (${room.participants.length} participants, ${room._count?.messages || 0} messages)`);
        });
      } else {
        console.log('Failed to fetch rooms:', roomsResponse.data);
      }
    } catch (error) {
      console.log('Error fetching rooms:', error.message);
    }

    // Test 2: Get messages for a specific room
    console.log('\n2. Testing GET /api/chat/group/messages...');
    try {
      // First get a room ID
      const roomsResponse = await makeRequest('/api/chat/rooms');
      if (roomsResponse.status === 200) {
        const rooms = roomsResponse.data;
        if (rooms.length > 0) {
          const roomId = rooms[0].id;
          console.log(`Testing with room ID: ${roomId}`);
          
          const messagesResponse = await makeRequest(`/api/chat/group/messages?chatRoomId=${roomId}`);
          console.log(`Status: ${messagesResponse.status}`);
          if (messagesResponse.status === 200) {
            const messages = messagesResponse.data;
            console.log(`Found ${messages.length} messages`);
            messages.slice(0, 3).forEach(message => {
              console.log(`  - "${message.content}" by ${message.user.name}`);
            });
            if (messages.length > 3) {
              console.log(`  ... and ${messages.length - 3} more messages`);
            }
          } else {
            console.log('Failed to fetch messages:', messagesResponse.data);
          }
        }
      }
    } catch (error) {
      console.log('Error fetching messages:', error.message);
    }

    console.log('\nāœ… API test completed!');

  } catch (error) {
    console.error('āŒ Error testing API:', error);
  }
}

testAPI(); 

CasperSecurity Mini