Skip to content

Commit 0d3e9ef

Browse files
authored
Update test_2001_progress_related_request_id.py
1 parent 4907865 commit 0d3e9ef

1 file changed

Lines changed: 52 additions & 36 deletions

File tree

tests/issues/test_2001_progress_related_request_id.py

Lines changed: 52 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -12,76 +12,92 @@
1212

1313
pytestmark = pytest.mark.anyio
1414

15+
1516
async def test_report_progress_passes_related_request_id() -> None:
1617
"""report_progress must forward request_id as related_request_id."""
1718
mock_session = AsyncMock()
1819
mock_session.send_progress_notification = AsyncMock()
20+
1921
request_context = ServerRequestContext(
20-
request_id="req-2001",
21-
session=mock_session,
22-
meta={"progress_token": "tok-progress"},
23-
lifespan_context=None,
24-
experimental=Experimental(),
22+
request_id="req-2001",
23+
session=mock_session,
24+
meta={"progress_token": "tok-progress"},
25+
lifespan_context=None,
26+
experimental=Experimental(),
2527
)
28+
2629
ctx = Context(request_context=request_context, mcp_server=MagicMock())
30+
2731
await ctx.report_progress(25, 100, message="quarter done")
2832
await ctx.report_progress(50, 100)
2933
await ctx.report_progress(100, 100, message="complete")
34+
3035
assert mock_session.send_progress_notification.call_count == 3
36+
3137
mock_session.send_progress_notification.assert_any_call(
32-
progress_token="tok-progress",
33-
progress=25.0,
34-
total=100.0,
35-
message="quarter done",
36-
related_request_id="req-2001",
38+
progress_token="tok-progress",
39+
progress=25.0,
40+
total=100.0,
41+
message="quarter done",
42+
related_request_id="req-2001",
3743
)
3844
mock_session.send_progress_notification.assert_any_call(
39-
progress_token="tok-progress",
40-
progress=50.0,
41-
total=100.0,
42-
message=None,
43-
related_request_id="req-2001",
45+
progress_token="tok-progress",
46+
progress=50.0,
47+
total=100.0,
48+
message=None,
49+
related_request_id="req-2001",
4450
)
4551
mock_session.send_progress_notification.assert_any_call(
46-
progress_token="tok-progress",
47-
progress=100.0,
48-
total=100.0,
49-
message="complete",
50-
related_request_id="req-2001",
52+
progress_token="tok-progress",
53+
progress=100.0,
54+
total=100.0,
55+
message="complete",
56+
related_request_id="req-2001",
5157
)
5258

59+
5360
async def test_report_progress_no_token_skips_notification() -> None:
5461
"""report_progress is a no-op when no progress_token is present."""
5562
mock_session = AsyncMock()
5663
mock_session.send_progress_notification = AsyncMock()
64+
5765
request_context = ServerRequestContext(
58-
request_id="req-no-token",
59-
session=mock_session,
60-
meta={},
61-
lifespan_context=None,
62-
experimental=Experimental(),
66+
request_id="req-no-token",
67+
session=mock_session,
68+
meta={},
69+
lifespan_context=None,
70+
experimental=Experimental(),
6371
)
72+
6473
ctx = Context(request_context=request_context, mcp_server=MagicMock())
74+
6575
await ctx.report_progress(50, 100)
66-
mock_session.send_progress_notification.assert_not_called()
76+
77+
mock_session.send_progress_notification.assert_not_called()
78+
6779

6880
async def test_report_progress_integer_token() -> None:
6981
"""report_progress works when progress_token is an integer (e.g. 0)."""
7082
mock_session = AsyncMock()
7183
mock_session.send_progress_notification = AsyncMock()
84+
7285
request_context = ServerRequestContext(
73-
request_id="req-int-token",
74-
session=mock_session,
75-
meta={"progress_token": 0},
76-
lifespan_context=None,
77-
experimental=Experimental(),
86+
request_id="req-int-token",
87+
session=mock_session,
88+
meta={"progress_token": 0},
89+
lifespan_context=None,
90+
experimental=Experimental(),
7891
)
92+
7993
ctx = Context(request_context=request_context, mcp_server=MagicMock())
94+
8095
await ctx.report_progress(1, 10)
96+
8197
mock_session.send_progress_notification.assert_awaited_once_with(
82-
progress_token=0,
83-
progress=1.0,
84-
total=10.0,
85-
message=None,
86-
related_request_id="req-int-token",
98+
progress_token=0,
99+
progress=1.0,
100+
total=10.0,
101+
message=None,
102+
related_request_id="req-int-token",
87103
)

0 commit comments

Comments
 (0)