Skip to content

Commit 2b9a645

Browse files
committed
test(managers): cover partial tenant scope removal branches
Add tests for ResourceManager and PromptManager where a tenant has multiple items and only one is removed, exercising the branch where the scope dict persists. Fixes 100% branch coverage requirement in CI. Github-Issue:#8
1 parent a6fa5c0 commit 2b9a645

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

tests/server/mcpserver/test_multi_tenancy_managers.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,19 @@ def test_remove_resource_with_tenant():
246246
assert "tenant-a" not in manager._resources
247247

248248

249+
def test_remove_resource_partial_tenant_scope():
250+
"""Removing one resource leaves the tenant scope intact when others remain."""
251+
manager = ResourceManager()
252+
253+
manager.add_resource(_make_resource("file:///a", "a"), tenant_id="tenant-a")
254+
manager.add_resource(_make_resource("file:///b", "b"), tenant_id="tenant-a")
255+
256+
manager.remove_resource("file:///a", tenant_id="tenant-a")
257+
258+
assert len(manager.list_resources(tenant_id="tenant-a")) == 1
259+
assert "tenant-a" in manager._resources
260+
261+
249262
def test_remove_resource_wrong_tenant_raises():
250263
"""Removing a resource under the wrong tenant raises ValueError."""
251264
manager = ResourceManager()
@@ -338,6 +351,19 @@ def test_remove_prompt_with_tenant():
338351
assert "tenant-a" not in manager._prompts
339352

340353

354+
def test_remove_prompt_partial_tenant_scope():
355+
"""Removing one prompt leaves the tenant scope intact when others remain."""
356+
manager = PromptManager()
357+
358+
manager.add_prompt(_make_prompt("greet", "A"), tenant_id="tenant-a")
359+
manager.add_prompt(_make_prompt("farewell", "B"), tenant_id="tenant-a")
360+
361+
manager.remove_prompt("greet", tenant_id="tenant-a")
362+
363+
assert len(manager.list_prompts(tenant_id="tenant-a")) == 1
364+
assert "tenant-a" in manager._prompts
365+
366+
341367
def test_remove_prompt_wrong_tenant_raises():
342368
"""Removing a prompt under the wrong tenant raises ValueError."""
343369
manager = PromptManager()

0 commit comments

Comments
 (0)