1818async def test_list_prompts_pagination () -> None :
1919 server = Server ("test" )
2020 test_cursor = "test-cursor-123"
21-
21+
2222 # Track what cursor was received
2323 received_cursor : Cursor | None = None
24-
24+
2525 @server .list_prompts_paginated ()
2626 async def handle_list_prompts (cursor : Cursor | None ) -> ListPromptsResult :
2727 nonlocal received_cursor
2828 received_cursor = cursor
2929 return ListPromptsResult (prompts = [], nextCursor = "next" )
30-
30+
3131 handler = server .request_handlers [ListPromptsRequest ]
32-
32+
3333 # Test: No cursor provided -> handler receives None
3434 request = ListPromptsRequest (method = "prompts/list" , params = None )
3535 result = await handler (request )
3636 assert received_cursor is None
3737 assert isinstance (result , ServerResult )
38-
38+
3939 # Test: Cursor provided -> handler receives exact cursor value
40- request_with_cursor = ListPromptsRequest (
41- method = "prompts/list" ,
42- params = PaginatedRequestParams (cursor = test_cursor )
43- )
40+ request_with_cursor = ListPromptsRequest (method = "prompts/list" , params = PaginatedRequestParams (cursor = test_cursor ))
4441 result2 = await handler (request_with_cursor )
4542 assert received_cursor == test_cursor
4643 assert isinstance (result2 , ServerResult )
@@ -50,28 +47,27 @@ async def handle_list_prompts(cursor: Cursor | None) -> ListPromptsResult:
5047async def test_list_resources_pagination () -> None :
5148 server = Server ("test" )
5249 test_cursor = "resource-cursor-456"
53-
50+
5451 # Track what cursor was received
5552 received_cursor : Cursor | None = None
56-
53+
5754 @server .list_resources_paginated ()
5855 async def handle_list_resources (cursor : Cursor | None ) -> ListResourcesResult :
5956 nonlocal received_cursor
6057 received_cursor = cursor
6158 return ListResourcesResult (resources = [], nextCursor = "next" )
62-
59+
6360 handler = server .request_handlers [ListResourcesRequest ]
64-
61+
6562 # Test: No cursor provided -> handler receives None
6663 request = ListResourcesRequest (method = "resources/list" , params = None )
6764 result = await handler (request )
6865 assert received_cursor is None
6966 assert isinstance (result , ServerResult )
70-
67+
7168 # Test: Cursor provided -> handler receives exact cursor value
7269 request_with_cursor = ListResourcesRequest (
73- method = "resources/list" ,
74- params = PaginatedRequestParams (cursor = test_cursor )
70+ method = "resources/list" , params = PaginatedRequestParams (cursor = test_cursor )
7571 )
7672 result2 = await handler (request_with_cursor )
7773 assert received_cursor == test_cursor
@@ -82,29 +78,26 @@ async def handle_list_resources(cursor: Cursor | None) -> ListResourcesResult:
8278async def test_list_tools_pagination () -> None :
8379 server = Server ("test" )
8480 test_cursor = "tools-cursor-789"
85-
81+
8682 # Track what cursor was received
8783 received_cursor : Cursor | None = None
88-
84+
8985 @server .list_tools_paginated ()
9086 async def handle_list_tools (cursor : Cursor | None ) -> ListToolsResult :
9187 nonlocal received_cursor
9288 received_cursor = cursor
9389 return ListToolsResult (tools = [], nextCursor = "next" )
94-
90+
9591 handler = server .request_handlers [ListToolsRequest ]
96-
92+
9793 # Test: No cursor provided -> handler receives None
9894 request = ListToolsRequest (method = "tools/list" , params = None )
9995 result = await handler (request )
10096 assert received_cursor is None
10197 assert isinstance (result , ServerResult )
102-
98+
10399 # Test: Cursor provided -> handler receives exact cursor value
104- request_with_cursor = ListToolsRequest (
105- method = "tools/list" ,
106- params = PaginatedRequestParams (cursor = test_cursor )
107- )
100+ request_with_cursor = ListToolsRequest (method = "tools/list" , params = PaginatedRequestParams (cursor = test_cursor ))
108101 result2 = await handler (request_with_cursor )
109102 assert received_cursor == test_cursor
110103 assert isinstance (result2 , ServerResult )
0 commit comments