teknium1
2dddfce08c
fix: log prefill parse errors + clean up cron scheduler tests
...
Follow-up to PR #716 (0xbyt4):
- Log the third remaining silent except-pass in scheduler (prefill
messages JSON parse failure)
- Fix test mock: run → run_conversation (matches actual agent API)
- Remove unused imports (asyncio, AsyncMock)
- Add test for prefill_messages parse failure logging
2026-03-10 17:10:01 -07:00
0xbyt4
0c3253a485
fix: mock asyncio.run in mirror test to prevent event loop destruction
...
asyncio.run() closes the event loop after execution, which breaks
subsequent tests using asyncio.get_event_loop() (test_send_image_file).
2026-03-09 00:20:19 +03:00
0xbyt4
d0f84c0964
fix: log exceptions instead of silently swallowing in cron scheduler
...
Two 'except Exception: pass' blocks silently hide failures:
- mirror_to_session failure: user's message never gets mirrored, no trace
- config.yaml parse failure: wrong model used silently
Replace with logger.warning so failures are visible in logs.
2026-03-09 00:06:34 +03:00
teknium1
69a36a3361
Merge PR #309 : fix(timezone): timezone-aware now() for prompt, cron, and execute_code
...
Authored by areu01or00. Adds timezone support via hermes_time.now() helper
with IANA timezone resolution (HERMES_TIMEZONE env → config.yaml → server-local).
Updates system prompt timestamp, cron scheduling, and execute_code sandbox TZ
injection. Includes config migration (v4→v5) and comprehensive test coverage.
2026-03-07 00:04:41 -08:00
teknium1
a44e041acf
test: strengthen assertions across 7 test files (batch 1)
...
Replaced weak 'is not None' / '> 0' / 'len >= 1' assertions with
concrete value checks across the most flagged test files:
gateway/test_pairing.py (11 weak → 0):
- Code assertions verify isinstance + len == CODE_LENGTH
- Approval results verify dict structure + specific user_id/user_name
- Added code2 != code1 check in rate_limit_expires
test_hermes_state.py (6 weak → 0):
- ended_at verified as float timestamp
- Search result counts exact (== 2, not >= 1)
- Context verified as non-empty list
- Export verified as dict, session ID verified
test_cli_init.py (4 weak → 0):
- max_turns asserts exact value (60)
- model asserts string with provider/name format
gateway/test_hooks.py (2 zero-assert tests → fixed):
- test_no_handlers_for_event: verifies no handler registered
- test_handler_error_does_not_propagate: verifies handler count + return
gateway/test_platform_base.py (9 weak image tests → fixed):
- extract_images tests now verify actual URL and alt_text
- truncate_message verifies content preservation after splitting
cron/test_scheduler.py (1 weak → 0):
- resolve_origin verifies dict equality, not just existence
cron/test_jobs.py (2 weak → 0 + 4 new tests):
- Schedule parsing verifies ISO timestamp type
- Cron expression verifies result is valid datetime string
- NEW: 4 tests for update_job() (was completely untested)
2026-03-05 18:39:37 -08:00
areu01or00
a1c25046a9
fix(timezone): add timezone-aware clock across agent, cron, and execute_code
2026-03-03 18:23:40 +05:30
Teknium
3526fa27fd
Merge pull request #62 from 0xbyt4/test/expand-coverage-2
...
test: add unit tests for 8 modules (batch 2)
2026-02-27 01:47:30 -08:00
0xbyt4
ffbdd7fcce
test: add unit tests for 8 modules (batch 2)
...
Cover model_tools, toolset_distributions, context_compressor,
prompt_caching, cronjob_tools, session_search, process_registry,
and cron/scheduler with 127 new test cases.
2026-02-26 13:54:20 +03:00
0xbyt4
0ac3af8776
test: add unit tests for 8 untested modules
...
Add comprehensive test coverage for:
- cron/jobs.py: schedule parsing, job CRUD, due-job detection (34 tests)
- tools/memory_tool.py: security scanning, MemoryStore ops, dispatcher (32 tests)
- toolsets.py: resolution, validation, composition, cycle detection (19 tests)
- tools/file_operations.py: write deny list, result dataclasses, helpers (37 tests)
- agent/prompt_builder.py: context scanning, truncation, skills index (24 tests)
- agent/model_metadata.py: token estimation, context lengths (16 tests)
- hermes_state.py: SessionDB SQLite CRUD, FTS5 search, export, prune (28 tests)
Total: 210 new tests, all passing (380 total suite).
2026-02-26 13:27:58 +03:00