Build a mock stream_manager with configurable behaviour.
(
tools=None, server_info=None, has_call_tool=True, has_internal_tools=True
)
| 19 | |
| 20 | |
| 21 | def _make_stream_manager( |
| 22 | tools=None, server_info=None, has_call_tool=True, has_internal_tools=True |
| 23 | ): |
| 24 | """Build a mock stream_manager with configurable behaviour.""" |
| 25 | mgr = MagicMock() |
| 26 | tools = tools if tools is not None else [_make_tool()] |
| 27 | server_info = server_info if server_info is not None else [{"name": "server1"}] |
| 28 | |
| 29 | if has_internal_tools: |
| 30 | mgr.get_internal_tools.return_value = tools |
| 31 | else: |
| 32 | del mgr.get_internal_tools # remove the attr so hasattr returns False |
| 33 | mgr.get_all_tools.return_value = tools |
| 34 | |
| 35 | mgr.get_server_info.return_value = server_info |
| 36 | mgr.get_server_for_tool.return_value = "test-server" |
| 37 | |
| 38 | if has_call_tool: |
| 39 | mgr.call_tool = AsyncMock(return_value={"result": "ok"}) |
| 40 | else: |
| 41 | del mgr.call_tool # remove so hasattr returns False |
| 42 | |
| 43 | return mgr |
| 44 | |
| 45 | |
| 46 | def _make_model_manager(): |
no test coverage detected