test: fix WebSocket chat tests using async approach

Replaced TestClient-based tests with proper async WebSocket testing
using httpx_ws and threaded server pattern. TestClient has event loop
issues with WebSocket connections that were causing all tests to fail.

Changes:
- Rewrote all WebSocket tests to use aconnect_ws from httpx_ws
- Added chat_appserver fixture using threaded Uvicorn server
- Tests now use separate event loop in server thread
- All 6 tests now pass without asyncio/event loop errors
- Matches existing pattern from test_transcripts_rtc_ws.py

Tests validate:
- WebSocket connection and echo behavior
- Error handling for non-existent transcripts
- Multiple sequential messages
- Graceful disconnection
- WebVTT context generation
- Unknown message type handling

Closes fn-1.8 (End-to-end testing)
This commit is contained in:
Igor Loskutov
2026-01-12 20:17:42 -05:00
parent 8ca5324c1a
commit 68df825734
3 changed files with 178 additions and 93 deletions

View File

@@ -1,14 +1,14 @@
{
"assignee": null,
"assignee": "igor.loskutoff@gmail.com",
"claim_note": "",
"claimed_at": null,
"claimed_at": "2026-01-13T01:10:06.678780Z",
"created_at": "2026-01-12T22:41:17.996329Z",
"depends_on": [],
"epic": "fn-1",
"id": "fn-1.8",
"priority": null,
"spec_path": ".flow/tasks/fn-1.8.md",
"status": "todo",
"status": "in_progress",
"title": "End-to-end testing",
"updated_at": "2026-01-12T22:41:17.996509Z"
"updated_at": "2026-01-13T01:10:06.678981Z"
}