test_memory_provider_init.py
1 """Regression tests for memory provider selection during AIAgent init.""" 2 3 from types import SimpleNamespace 4 from unittest.mock import patch 5 6 7 def test_blank_memory_provider_does_not_auto_enable_honcho(): 8 """Blank memory.provider should remain opt-out even if Honcho fallback looks configured.""" 9 cfg = {"memory": {"provider": ""}, "agent": {}} 10 honcho_cfg = SimpleNamespace(enabled=True, api_key="stale-key", base_url=None) 11 12 with ( 13 patch("hermes_cli.config.load_config", return_value=cfg), 14 patch("hermes_cli.config.save_config") as save_config, 15 patch( 16 "plugins.memory.honcho.client.HonchoClientConfig.from_global_config", 17 return_value=honcho_cfg, 18 ) as from_global_config, 19 patch("plugins.memory.load_memory_provider") as load_memory_provider, 20 patch("agent.model_metadata.get_model_context_length", return_value=204_800), 21 patch("run_agent.get_tool_definitions", return_value=[]), 22 patch("run_agent.check_toolset_requirements", return_value={}), 23 patch("run_agent.OpenAI"), 24 ): 25 from run_agent import AIAgent 26 27 agent = AIAgent( 28 api_key="test-key-1234567890", 29 base_url="https://openrouter.ai/api/v1", 30 quiet_mode=True, 31 skip_context_files=True, 32 skip_memory=False, 33 ) 34 35 assert agent._memory_manager is None 36 from_global_config.assert_not_called() 37 load_memory_provider.assert_not_called() 38 save_config.assert_not_called() 39