39 lines
1.1 KiB
Python
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)
|