(self, agent_dict_version, get_agent_dict)
| 2249 | |
| 2250 | @pytest.mark.parametrize("agent_dict_version", ["v1.9", "v1.10", "v1.20"]) |
| 2251 | def test_from_folder(self, agent_dict_version, get_agent_dict): |
| 2252 | agent_dict = get_agent_dict(agent_dict_version) |
| 2253 | mock_model_class = MagicMock() |
| 2254 | mock_model_instance = MagicMock() |
| 2255 | mock_model_instance.model_id = "Qwen/Qwen2.5-Coder-32B-Instruct" |
| 2256 | mock_model_class.from_dict.return_value = mock_model_instance |
| 2257 | |
| 2258 | with ( |
| 2259 | patch("smolagents.agents.Path") as mock_path, |
| 2260 | patch.dict("smolagents.models.MODEL_REGISTRY", {"InferenceClientModel": mock_model_class}), |
| 2261 | ): |
| 2262 | import json |
| 2263 | |
| 2264 | mock_path.return_value.__truediv__.return_value.read_text.return_value = json.dumps(agent_dict) |
| 2265 | agent = CodeAgent.from_folder("ignored_dummy_folder") |
| 2266 | assert isinstance(agent, CodeAgent) |
| 2267 | assert agent.name == "test_agent" |
| 2268 | assert agent.description == "dummy description" |
| 2269 | assert agent.max_steps == 10 |
| 2270 | assert agent.planning_interval == 2 |
| 2271 | assert agent.additional_authorized_imports == ["pandas"] |
| 2272 | assert "pandas" in agent.authorized_imports |
| 2273 | assert agent.executor_type == "local" |
| 2274 | assert agent.executor_kwargs == {} |
| 2275 | assert agent.max_print_outputs_length is None |
| 2276 | assert agent.managed_agents == {} |
| 2277 | assert set(agent.tools.keys()) == {"final_answer"} |
| 2278 | assert agent.model == mock_model_instance |
| 2279 | assert mock_model_class.from_dict.call_args.args[0]["model_id"] == "Qwen/Qwen2.5-Coder-32B-Instruct" |
| 2280 | assert agent.model.model_id == "Qwen/Qwen2.5-Coder-32B-Instruct" |
| 2281 | assert agent.logger.level == 2 |
| 2282 | assert agent.prompt_templates["system_prompt"] == "dummy system prompt" |
| 2283 | |
| 2284 | def test_from_dict(self): |
| 2285 | # Create a test agent dictionary |
nothing calls this directly
no test coverage detected