forked from cleveragents/cleveragents-core
c97ec273a9
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
40 lines
1.9 KiB
Plaintext
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
|