@@ -117,7 +117,7 @@ def test_server_request_context_inherits_tenant_id_from_base():
117117
118118@pytest .mark .anyio
119119async def test_server_session_tenant_id_property (init_options : InitializationOptions ):
120- """Test ServerSession tenant_id property and setter ."""
120+ """Test ServerSession tenant_id property with set-once semantics ."""
121121 server_to_client_send , server_to_client_recv = anyio .create_memory_object_stream [SessionMessage ](1 )
122122 client_to_server_send , client_to_server_recv = anyio .create_memory_object_stream [SessionMessage | Exception ](1 )
123123
@@ -134,13 +134,20 @@ async def test_server_session_tenant_id_property(init_options: InitializationOpt
134134 session .tenant_id = "tenant-123"
135135 assert session .tenant_id == "tenant-123"
136136
137- # Can change tenant_id
138- session .tenant_id = "tenant-456 "
139- assert session .tenant_id == "tenant-456 "
137+ # Setting to the same value is allowed
138+ session .tenant_id = "tenant-123 "
139+ assert session .tenant_id == "tenant-123 "
140140
141- # Can reset to None
142- session .tenant_id = None
143- assert session .tenant_id is None
141+ # Cannot change to a different value
142+ with pytest .raises (ValueError , match = "Cannot change tenant_id" ):
143+ session .tenant_id = "tenant-456"
144+
145+ # Cannot reset to None once set
146+ with pytest .raises (ValueError , match = "Cannot change tenant_id" ):
147+ session .tenant_id = None
148+
149+ # Original value is preserved
150+ assert session .tenant_id == "tenant-123"
144151
145152
146153def test_get_tenant_id_from_auth_context ():
@@ -317,12 +324,13 @@ async def test_server_session_isolation_between_instances(init_options: Initiali
317324 assert session1 .tenant_id == "tenant-alpha"
318325 assert session2 .tenant_id == "tenant-beta"
319326
320- # Modify one session's tenant_id
321- session1 .tenant_id = "tenant-gamma"
327+ # Attempting to change one session's tenant_id raises
328+ with pytest .raises (ValueError , match = "Cannot change tenant_id" ):
329+ session1 .tenant_id = "tenant-gamma"
322330
323- # Verify the other session is unaffected
324- assert session1 .tenant_id == "tenant-gamma "
325- assert session2 .tenant_id == "tenant-beta" # Still beta, not gamma
331+ # Both sessions retain their original values
332+ assert session1 .tenant_id == "tenant-alpha "
333+ assert session2 .tenant_id == "tenant-beta"
326334
327335
328336@pytest .mark .anyio
0 commit comments