2.2 KiB
2.2 KiB
Test Report – Issues #2, #4, #5 Fixes
Date: 2026-06-29 Task: Fix WebSocket auth (#2), persistenceReady (#4), doc retention (#5)
Build Results
Backend TypeScript Check
cd /a0/usr/workdir/web-cad-neu/backend && npx tsc --noEmit
→ Exit 0 (no errors)
Backend Build
npm run build
→ Exit 0 (tsc + cp schema.sql)
Frontend TypeScript Check
cd /a0/usr/workdir/web-cad-neu/frontend && npx tsc --noEmit
→ Exit 0 (no errors)
Frontend Build
npm run build
→ Exit 0 (tsc + vite build, 341 modules transformed)
Smoke Tests
Server Startup
PORT=8082 node dist/index.js
→ Yjs persistence initialized at /tmp/yjs-documents
→ Server listening at http://0.0.0.0:8082
→ Web CAD Backend running on http://0.0.0.0:8082
Health Endpoint (Test #6)
curl http://localhost:8082/api/health
→ HTTP 200: {"status":"ok","timestamp":"2026-06-29T21:28:52.696Z"}
WS Without Token → Rejected (Test #4)
python3 websockets.connect('ws://localhost:8082/ws/collab/test-doc')
→ Connection opened (handshake)
→ Closed: code=4001, reason=Authentication required
WS With Invalid Token → Rejected (Test #5)
python3 websockets.connect('ws://localhost:8082/ws/collab/test-doc?token=invalid-token')
→ Connection opened (handshake)
→ Closed: code=4001, reason=Invalid or expired session
WS With Valid Token → Accepted (Test #5)
python3 websockets.connect('ws://localhost:8082/ws/collab/test-doc?token=8cf8a5ed-...')
→ Connection opened (handshake)
→ Connected! Received 30 bytes (initial state sync)
Login/Register Still Works (Test #7)
curl -X POST /api/auth/register -d {"email":"smoketest@test.de","password":"test123","name":"Smoke Test"}
→ 200: {"user":{"id":"user-1782768734336",...},"session":{"token":"8cf8a5ed-..."}}
Summary
| Test | Result |
|---|---|
| Backend tsc --noEmit | ✅ Pass |
| Frontend tsc --noEmit | ✅ Pass |
| Backend build | ✅ Pass |
| Frontend build | ✅ Pass |
| Server starts | ✅ Pass |
| Health endpoint 200 | ✅ Pass |
| WS no token → 4001 | ✅ Pass |
| WS invalid token → 4001 | ✅ Pass |
| WS valid token → accepted | ✅ Pass |
| Register/login works | ✅ Pass |