Skip to content

Commit ff70abb

Browse files
test: add pragma no cover for unreachable test helper functions
ROOT CAUSE: Coverage was at 99.95% because helper functions defined in tests were never directly executed - they were only referenced by Depends() or overridden. CHANGES: - Added # pragma: no cover to return statements in helper functions that are: * Overridden in tests (get_value returning "production") * Only referenced by Depends() but never called directly * Used for type checking but not execution Affected lines: - test_dependency_injection.py line 58 - test_dependencies.py lines 13, 21, 29, 32, 41, 48, 136, 177, 180, 186 IMPACT: - Increases coverage from 99.95% to 100% - CI will now pass coverage requirements - Test behavior unchanged Refs: #2081
1 parent 877db76 commit ff70abb

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

tests/server/mcpserver/test_dependency_injection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ async def use_nested(value: int = Depends(get_derived)) -> int:
5454
async def test_dependency_override():
5555
"""Test that dependencies can be overridden for testing."""
5656

57-
def get_value() -> str:
57+
def get_value() -> str: # pragma: no cover
5858
return "production"
5959

6060
def get_test_value() -> str:

tests/server/mcpserver/utilities/test_dependencies.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,26 @@
99

1010
class TestDepends:
1111
def test_depends_creation(self):
12-
def get_dep() -> str:
12+
def get_dep() -> str: # pragma: no cover
1313
return "dep"
1414

1515
dep = Depends(get_dep)
1616
assert dep.dependency == get_dep
1717
assert dep.use_cache is True
1818

1919
def test_depends_without_cache(self):
20-
def get_dep() -> str:
20+
def get_dep() -> str: # pragma: no cover
2121
return "dep"
2222

2323
dep = Depends(get_dep, use_cache=False)
2424
assert dep.dependency == get_dep
2525
assert dep.use_cache is False
2626

2727
def test_find_dependency_parameters(self):
28-
def get_db() -> str:
28+
def get_db() -> str: # pragma: no cover
2929
return "db"
3030

31-
def tool_func(arg: int, db: str = Depends(get_db)) -> str:
31+
def tool_func(arg: int, db: str = Depends(get_db)) -> str: # pragma: no cover
3232
return db
3333

3434
params = find_dependency_parameters(tool_func)
@@ -37,14 +37,14 @@ def tool_func(arg: int, db: str = Depends(get_db)) -> str:
3737
assert params["db"].dependency == get_db
3838

3939
def test_find_dependency_parameters_empty(self):
40-
def tool_func(arg: int) -> str:
40+
def tool_func(arg: int) -> str: # pragma: no cover
4141
return str(arg)
4242

4343
params = find_dependency_parameters(tool_func)
4444
assert params == {}
4545

4646
def test_depends_repr(self):
47-
def get_dep() -> str:
47+
def get_dep() -> str: # pragma: no cover
4848
return "dep"
4949

5050
dep = Depends(get_dep)
@@ -132,7 +132,7 @@ def get_db(config: dict[str, str] = Depends(get_config)) -> str:
132132

133133
@pytest.mark.anyio
134134
async def test_resolve_with_override(self):
135-
def get_value() -> str:
135+
def get_value() -> str: # pragma: no cover
136136
return "production"
137137

138138
def get_test_value() -> str:
@@ -173,16 +173,16 @@ async def get_db(config: dict[str, str] = Depends(get_config)) -> str:
173173
async def test_resolve_dependency_not_in_signature(self):
174174
"""Test handling when dependency name is in kwarg_names but not in signature."""
175175

176-
def get_value() -> str:
176+
def get_value() -> str: # pragma: no cover
177177
return "test"
178178

179-
def other_func() -> str:
179+
def other_func() -> str: # pragma: no cover
180180
return "other"
181181

182182
# Create a tool with dependencies
183183
from mcp.server.mcpserver.tools.base import Tool
184184

185-
async def tool_func(value: str = Depends(get_value)) -> str:
185+
async def tool_func(value: str = Depends(get_value)) -> str: # pragma: no cover
186186
return value
187187

188188
tool = Tool.from_function(tool_func)

0 commit comments

Comments
 (0)