Skip to content

Commit 161f123

Browse files
committed
fix(test): resolve pyright reportUnnecessaryComparison error
Extract _simulate_tenant_binding helper to avoid pyright narrowing session.tenant_id to a literal type after assertion, which caused the subsequent `is None` check to be flagged as always-False.
1 parent 9e3ded2 commit 161f123

1 file changed

Lines changed: 21 additions & 31 deletions

File tree

tests/server/test_multi_tenancy_session.py

Lines changed: 21 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,25 @@
1818
from mcp.types import ServerCapabilities
1919

2020

21+
def _simulate_tenant_binding(session: ServerSession, tenant_id_value: str) -> None:
22+
"""Simulate the set-once tenant binding logic from lowlevel/server.py."""
23+
access_token = AccessToken(
24+
token=f"token-{tenant_id_value}",
25+
client_id="client",
26+
scopes=["read"],
27+
expires_at=int(time.time()) + 3600,
28+
tenant_id=tenant_id_value,
29+
)
30+
user = AuthenticatedUser(access_token)
31+
context_token = auth_context_var.set(user)
32+
try:
33+
tenant_id = get_tenant_id()
34+
if tenant_id is not None and session.tenant_id is None:
35+
session.tenant_id = tenant_id
36+
finally:
37+
auth_context_var.reset(context_token)
38+
39+
2140
@pytest.fixture
2241
def init_options() -> InitializationOptions:
2342
"""Create initialization options for testing."""
@@ -177,41 +196,12 @@ async def test_session_tenant_id_set_from_auth_context_on_first_request(init_opt
177196

178197
# Simulate what lowlevel/server.py does: set session.tenant_id
179198
# from auth context on first request
180-
access_token = AccessToken(
181-
token="token-first",
182-
client_id="client",
183-
scopes=["read"],
184-
expires_at=int(time.time()) + 3600,
185-
tenant_id="tenant-first",
186-
)
187-
user = AuthenticatedUser(access_token)
188-
context_token = auth_context_var.set(user)
189-
try:
190-
tenant_id = get_tenant_id()
191-
if tenant_id is not None and session.tenant_id is None:
192-
session.tenant_id = tenant_id
193-
finally:
194-
auth_context_var.reset(context_token)
195-
199+
_simulate_tenant_binding(session, "tenant-first")
196200
assert session.tenant_id == "tenant-first"
197201

198202
# Simulate a second request with a different tenant —
199203
# session.tenant_id should NOT change (set-once on first request)
200-
access_token2 = AccessToken(
201-
token="token-second",
202-
client_id="client",
203-
scopes=["read"],
204-
expires_at=int(time.time()) + 3600,
205-
tenant_id="tenant-second",
206-
)
207-
user2 = AuthenticatedUser(access_token2)
208-
context_token2 = auth_context_var.set(user2)
209-
try:
210-
tenant_id = get_tenant_id()
211-
if tenant_id is not None and session.tenant_id is None:
212-
session.tenant_id = tenant_id
213-
finally:
214-
auth_context_var.reset(context_token2)
204+
_simulate_tenant_binding(session, "tenant-second")
215205

216206
# Still the first tenant — not overwritten
217207
assert session.tenant_id == "tenant-first"

0 commit comments

Comments
 (0)