89 lines
2.2 KiB
Markdown
89 lines
2.2 KiB
Markdown
# 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 |
|