Files
ShieldAI/test-ws-maxpayload.js
Michael Freno 7b925c89bd Fix 3 Code Review findings on FRE-4574
- P2: Replace wget with curl for ECS health check (Alpine lacks wget)
- P2: Add AWS credentials step to CI terraform-plan job for S3 backend auth
- P3: Remove unused GitHub provider from infra/main.tf

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 07:09:39 -04:00

45 lines
1.0 KiB
JavaScript

const { WebSocketServer } = require('ws');
const { createServer } = require('http');
// Test WebSocket maxPayload parameter
const httpServer = createServer();
const wss = new WebSocketServer({
port: 0,
maxPayload: 65536, // 64KB
});
let testPassed = false;
wss.on('connection', (ws) => {
console.log('Client connected');
// Send message larger than 64KB
const oversized = 'x'.repeat(70000);
console.log('Sending 70KB message...');
ws.send(oversized, (err) => {
if (err) {
console.log('✓ Error received (expected):', err.message);
testPassed = true;
} else {
console.log('✗ No error - maxPayload NOT enforced!');
}
ws.close();
httpServer.close();
wss.close();
if (testPassed) {
console.log('✅ TEST PASSED: maxPayload (64KB) is enforced');
process.exit(0);
} else {
console.log('❌ TEST FAILED');
process.exit(1);
}
});
});
httpServer.listen(0, () => {
console.log('Server listening on port', httpServer.address().port);
});