Files
AstrBot/openspec/changes/lsp-integration-tests/proposal.md
2026-03-24 16:58:39 +08:00

26 lines
1.0 KiB
Markdown

# LSP Integration Tests
## Problem
The `_internal` architecture includes an LSP (Language Server Protocol) client implementation at `astrbot/_internal/protocols/lsp/client.py`, but there are no integration tests validating that it can connect to and communicate with a real LSP server. The orchestrator manages an `AstrbotLspClient` instance (`self.lsp`), but this functionality remains untested.
## Solution
Create integration tests that:
1. Build an LSP echo server fixture (stdio-based)
2. Test the LSP client can connect, send requests, and receive responses
3. Verify the JSON-RPC 2.0 protocol communication works end-to-end
## Why This Matters
- Architecture claims must be validated through tests
- LSP functionality is used by the orchestrator for language intelligence
- Integration tests catch regressions that unit tests miss
- Validates the JSON-RPC 2.0 message framing and async communication
## Scope
- Create `tests/integration/fixtures/echo_lsp_server.py`
- Create `tests/integration/test_lsp_integration.py`
- Ensure tests can run in CI