Files
clice/tests/integration/test_lifecycle.py
2026-03-22 23:37:08 +08:00

39 lines
1.1 KiB
Python

"""Lifecycle tests for the clice LSP server using pygls."""
import pytest
from lsprotocol.types import (
ClientCapabilities,
InitializeParams,
InitializedParams,
WorkspaceFolder,
)
@pytest.mark.asyncio
async def test_initialize(client, test_data_dir):
ws = test_data_dir / "hello_world"
result = await client.initialize_async(
InitializeParams(
capabilities=ClientCapabilities(),
root_uri=ws.as_uri(),
workspace_folders=[WorkspaceFolder(uri=ws.as_uri(), name="test")],
)
)
client.initialized(InitializedParams())
assert result.server_info is not None
assert result.server_info.name == "clice"
@pytest.mark.asyncio
async def test_shutdown(client, test_data_dir):
ws = test_data_dir / "hello_world"
await client.initialize_async(
InitializeParams(
capabilities=ClientCapabilities(),
root_uri=ws.as_uri(),
workspace_folders=[WorkspaceFolder(uri=ws.as_uri(), name="test")],
)
)
client.initialized(InitializedParams())
await client.shutdown_async(None)