Files
cleveragents-core/robot/lsp_config_fields.robot
hamza.khyari c97ec273a9
CI / build (pull_request) Successful in 21s
CI / helm (pull_request) Successful in 23s
CI / lint (pull_request) Successful in 26s
CI / quality (pull_request) Successful in 56s
CI / typecheck (pull_request) Successful in 1m2s
CI / security (pull_request) Successful in 1m7s
CI / integration_tests (pull_request) Successful in 5m51s
CI / unit_tests (pull_request) Successful in 7m29s
CI / docker (pull_request) Successful in 2m13s
CI / coverage (pull_request) Successful in 8m50s
CI / benchmark-publish (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 15m34s
CI / status-check (pull_request) Successful in 2s
CI / benchmark-regression (pull_request) Successful in 59m14s
feat(lsp): add missing LspServerConfig model fields
Add specification-required fields to LspServerConfig:

- description: str (max_length=1000, default='')
- transport: LspTransport enum (stdio/tcp/pipe, default=stdio)
- initialization: dict[str, Any] (LSP initializationOptions, default={})
- workspace_settings: dict[str, Any] (workspace/didChangeConfiguration, default={})

All fields have defaults for backward compatibility with existing
configs. LspTransport enum exported from lsp package.

Tests: 17 Behave scenarios, 5 Robot integration tests.
Existing LSP tests: 250/250 pass unchanged.

ISSUES CLOSED: #835
2026-03-30 11:51:27 +00:00

40 lines
1.9 KiB
Plaintext

*** Settings ***
Documentation Integration tests for LSP config fields
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_lsp_config_fields.py
*** Test Cases ***
LspTransport Enum Values
[Documentation] LspTransport has stdio, tcp, pipe
${result}= Run Process ${PYTHON} ${HELPER} transport-enum cwd=${WORKSPACE} on_timeout=kill timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} transport-enum-ok
Config Default Values
[Documentation] New fields default correctly
${result}= Run Process ${PYTHON} ${HELPER} config-defaults cwd=${WORKSPACE} on_timeout=kill timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-defaults-ok
Config All Fields Populated
[Documentation] Config accepts all new fields
${result}= Run Process ${PYTHON} ${HELPER} config-all-fields cwd=${WORKSPACE} on_timeout=kill timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-all-fields-ok
Config Serialization Round Trip
[Documentation] New fields survive serialization
${result}= Run Process ${PYTHON} ${HELPER} config-roundtrip cwd=${WORKSPACE} on_timeout=kill timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-roundtrip-ok
Registry Preserves New Fields
[Documentation] Registry stores and retrieves new fields
${result}= Run Process ${PYTHON} ${HELPER} registry-preserves cwd=${WORKSPACE} on_timeout=kill timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} registry-preserves-ok