The wide net becomes a pull, and a tuned number carries the space it was measured in #164
@@ -32,8 +32,14 @@ def _logs(pairs):
|
|||||||
|
|
||||||
|
|
||||||
def _session_with(rows):
|
def _session_with(rows):
|
||||||
|
"""`.all()` is SYNCHRONOUS on a Result, so it needs a MagicMock.
|
||||||
|
|
||||||
|
`make_mock_session` is an AsyncMock, and every child of an AsyncMock is one
|
||||||
|
too — leaving `.all` as it comes hands the service a coroutine where it
|
||||||
|
expects a list, the same trap the helper's docstring flags for `add`.
|
||||||
|
"""
|
||||||
session = make_mock_session()
|
session = make_mock_session()
|
||||||
session.execute.return_value.all.return_value = rows
|
session.execute.return_value = MagicMock(all=MagicMock(return_value=rows))
|
||||||
return session
|
return session
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -183,13 +183,16 @@ def test_the_tool_teaches_reading_the_records_not_the_percentile():
|
|||||||
assert "69" in doc
|
assert "69" in doc
|
||||||
|
|
||||||
|
|
||||||
def test_all_three_tools_are_registered():
|
def test_every_tool_in_the_module_is_registered():
|
||||||
from scribe.mcp.tools import retrieval_tuning as tool
|
from scribe.mcp.tools import retrieval_tuning as tool
|
||||||
|
|
||||||
from tests.helpers import FakeMCP
|
from tests.helpers import FakeMCP
|
||||||
|
|
||||||
mcp = FakeMCP()
|
mcp = FakeMCP()
|
||||||
tool.register(mcp)
|
tool.register(mcp)
|
||||||
|
# Order is the module's, and asserted rather than sorted: an unregistered
|
||||||
|
# tool is invisible to every caller, so the list is worth reading literally.
|
||||||
assert mcp.names == [
|
assert mcp.names == [
|
||||||
"retrieval_surfaces", "tune_retrieval", "retrieval_tuning_history",
|
"retrieval_surfaces", "migrate_retrieval_floor",
|
||||||
|
"tune_retrieval", "retrieval_tuning_history",
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user