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