test(cron): preserve explicit suggestions path override

This commit is contained in:
이민재
2026-08-28 15:30:55 +09:00
committed by Teknium
parent 9da8842585
commit e48bb828d4
2 changed files with 21 additions and 2 deletions

View File

@@ -46,11 +46,10 @@ logger = logging.getLogger(__name__)
# profile's cron store. Anchor on get_hermes_home() (profile home), not the
# shared default root. See cron/jobs.py for the full rationale.
#
# Optional test overrides. Production resolves the path at call time so
# Optional test override. Production resolves the path at call time so
# multiplexed profile ticks (set_hermes_home_override) cannot leak one
# profile's suggestions into the import-time home (#86519). Same pattern as
# cron/executions.py.
CRON_DIR: Optional[Path] = None
SUGGESTIONS_FILE: Optional[Path] = None

View File

@@ -37,6 +37,26 @@ def _add(store, key="k1", title="Test", source="catalog", schedule="0 9 * * *"):
class TestStore:
def test_explicit_file_override_wins_over_profile_home(self, tmp_path, monkeypatch):
from hermes_constants import (
reset_hermes_home_override,
set_hermes_home_override,
)
import cron.suggestions as suggestions_mod
explicit_file = tmp_path / "explicit" / "suggestions.json"
profile_home = tmp_path / "profile"
monkeypatch.setattr(suggestions_mod, "SUGGESTIONS_FILE", explicit_file)
token = set_hermes_home_override(profile_home)
try:
_add(suggestions_mod, key="explicit-file")
finally:
reset_hermes_home_override(token)
assert explicit_file.exists()
assert not (profile_home / "cron" / "suggestions.json").exists()
def test_profile_override_routes_writes_to_current_home(self, tmp_path):
from hermes_constants import (
reset_hermes_home_override,