Team Ai
Apppublic

Jack1808/Claude_Code

sourceHugging Faceupdated 4mo agoView on Hugging Face
0likes
test_subagent_interception.py55 linesDownload Raw Back to providers
1import json2from unittest.mock import MagicMock3 4import pytest5 6from config.nim import NimSettings7from providers.base import ProviderConfig8from providers.common import ContentBlockManager9from providers.nvidia_nim import NvidiaNimProvider10 11 12@pytest.mark.asyncio13async def test_task_tool_interception():14    # Setup provider15    config = ProviderConfig(api_key="test")16    provider = NvidiaNimProvider(config, nim_settings=NimSettings())17 18    # Mock request and sse builder with real ContentBlockManager19    request = MagicMock()20    request.model = "test-model"21 22    sse = MagicMock()23    sse.blocks = ContentBlockManager()24 25    # Tool call data (Task tool)26    tc = {27        "index": 0,28        "id": "tool_123",29        "function": {30            "name": "Task",31            "arguments": json.dumps(32                {33                    "description": "test task",34                    "prompt": "do something",35                    "run_in_background": True,36                }37            ),38        },39    }40 41    # Call the method (consume generator to trigger side effects)42    list(provider._process_tool_call(tc, sse))43 44    # Find the emit_tool_delta call and check args45    calls = sse.emit_tool_delta.call_args_list46    assert len(calls) > 047    args_passed = json.loads(calls[0][0][1])48    assert args_passed["run_in_background"] is False49 50 51if __name__ == "__main__":52    import asyncio53 54    asyncio.run(test_task_tool_interception())55