@@ -82,6 +82,61 @@ async def run_server():
8282
8383 assert received_initialized
8484
85+ @pytest .mark .anyio
86+ async def test_server_session_initialize_with_title_and_description ():
87+ """Test that server_title and server_description are passed through to serverInfo."""
88+ server_to_client_send , server_to_client_receive = anyio .create_memory_object_stream [SessionMessage ](1 )
89+ client_to_server_send , client_to_server_receive = anyio .create_memory_object_stream [SessionMessage ](1 )
90+
91+ async def message_handler (
92+ message : RequestResponder [types .ServerRequest , types .ClientResult ] | types .ServerNotification | Exception ,
93+ ) -> None :
94+ if isinstance (message , Exception ):
95+ raise message
96+
97+ async def run_server ():
98+ async with ServerSession (
99+ client_to_server_receive ,
100+ server_to_client_send ,
101+ InitializationOptions (
102+ server_name = "test-server" ,
103+ server_version = "1.0.0" ,
104+ title = "Test Server Title" ,
105+ description = "A description of what this server does." ,
106+ capabilities = ServerCapabilities (),
107+ ),
108+ ) as server_session :
109+ async for message in server_session .incoming_messages : # pragma: no branch
110+ if isinstance (message , Exception ): # pragma: no cover
111+ raise message
112+
113+ if isinstance (message , ClientNotification ) and isinstance (
114+ message .root , InitializedNotification
115+ ): # pragma: no branch
116+ return
117+
118+ result : types .InitializeResult | None = None
119+ try :
120+ async with (
121+ ClientSession (
122+ server_to_client_receive ,
123+ client_to_server_send ,
124+ message_handler = message_handler ,
125+ ) as client_session ,
126+ anyio .create_task_group () as tg ,
127+ ):
128+ tg .start_soon (run_server )
129+
130+ result = await client_session .initialize ()
131+ except anyio .ClosedResourceError : # pragma: no cover
132+ pass
133+
134+ assert result is not None
135+ assert result .serverInfo .name == "test-server"
136+ assert result .serverInfo .title == "Test Server Title"
137+ assert result .serverInfo .version == "1.0.0"
138+ assert result .serverInfo .description == "A description of what this server does."
139+
85140
86141@pytest .mark .anyio
87142async def test_server_capabilities ():
0 commit comments