test: update stale tests to match current code (#11963)

Seven test files were asserting against older function signatures and
behaviors. CI has been red on main because of accumulated test debt
from other PRs; this catches the tests up.

- tests/agent/test_subagent_progress.py: _build_child_progress_callback
  now takes (task_index, goal, parent_agent, task_count=1); update all
  call sites and rewrite tests that assumed the old 'batch-only' relay
  semantics (now relays per-tool AND flushes a summary at BATCH_SIZE).
  Renamed test_thinking_not_relayed_to_gateway → test_thinking_relayed_to_gateway
  since thinking IS now relayed as subagent.thinking.
- tests/tools/test_delegate.py: _build_child_agent now requires
  task_count; add task_count=1 to all 8 call sites.
- tests/cli/test_reasoning_command.py: AIAgent gained _stream_callback;
  stub it on the two test agent helpers that use spec=AIAgent / __new__.
- tests/hermes_cli/test_cmd_update.py: cmd_update now runs npm install
  in repo root + ui-tui/ + web/ and 'npm run build' in web/; assert
  all four subprocess calls in the expected order.
- tests/hermes_cli/test_model_validation.py: dissimilar unknown models
  now return accepted=False (previously True with warning); update
  both affected tests.
- tests/tools/test_registry.py: include feishu_doc_tool and
  feishu_drive_tool in the expected builtin tool set.
- tests/gateway/test_voice_command.py: missing-voice-deps message now
  suggests 'pip install PyNaCl' not 'hermes-agent[messaging]'.

411/411 pass locally across these 7 files.
This commit is contained in:
Teknium 2026-04-17 21:35:30 -07:00 committed by GitHub
parent 5ff65dbf68
commit 598cba62ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 94 additions and 73 deletions

View file

@ -274,6 +274,7 @@ class TestDelegateTask(unittest.TestCase):
model=None,
max_iterations=10,
parent_agent=parent,
task_count=1,
)
self.assertIs(mock_child._print_fn, sink)
@ -294,6 +295,7 @@ class TestDelegateTask(unittest.TestCase):
model=None,
max_iterations=10,
parent_agent=parent,
task_count=1,
)
self.assertTrue(callable(mock_child.thinking_callback))
@ -363,6 +365,7 @@ class TestToolNamePreservation(unittest.TestCase):
model=None,
max_iterations=10,
parent_agent=parent,
task_count=1,
)
except NameError as exc:
self.fail(
@ -1000,6 +1003,7 @@ class TestChildCredentialPoolResolution(unittest.TestCase):
model=None,
max_iterations=10,
parent_agent=parent,
task_count=1,
)
self.assertEqual(mock_child._credential_pool, mock_pool)
@ -1225,6 +1229,7 @@ class TestDelegationReasoningEffort(unittest.TestCase):
_build_child_agent(
task_index=0, goal="test", context=None, toolsets=None,
model=None, max_iterations=50, parent_agent=parent,
task_count=1,
)
call_kwargs = MockAgent.call_args[1]
self.assertEqual(call_kwargs["reasoning_config"], {"enabled": True, "effort": "xhigh"})
@ -1241,6 +1246,7 @@ class TestDelegationReasoningEffort(unittest.TestCase):
_build_child_agent(
task_index=0, goal="test", context=None, toolsets=None,
model=None, max_iterations=50, parent_agent=parent,
task_count=1,
)
call_kwargs = MockAgent.call_args[1]
self.assertEqual(call_kwargs["reasoning_config"], {"enabled": True, "effort": "low"})
@ -1257,6 +1263,7 @@ class TestDelegationReasoningEffort(unittest.TestCase):
_build_child_agent(
task_index=0, goal="test", context=None, toolsets=None,
model=None, max_iterations=50, parent_agent=parent,
task_count=1,
)
call_kwargs = MockAgent.call_args[1]
self.assertEqual(call_kwargs["reasoning_config"], {"enabled": False})
@ -1273,6 +1280,7 @@ class TestDelegationReasoningEffort(unittest.TestCase):
_build_child_agent(
task_index=0, goal="test", context=None, toolsets=None,
model=None, max_iterations=50, parent_agent=parent,
task_count=1,
)
call_kwargs = MockAgent.call_args[1]
self.assertEqual(call_kwargs["reasoning_config"], {"enabled": True, "effort": "medium"})