Initial commit
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
from app.config import Settings
|
||||
from app.scheduler import generate_daily_summaries, generate_weekly_summaries, start_scheduler
|
||||
|
||||
|
||||
def _settings(**llm):
|
||||
return Settings.model_validate({"alerts": {"email": {"enabled": False}}, "llm": llm})
|
||||
|
||||
|
||||
def test_disabled_digest_jobs_do_not_instantiate_llm(monkeypatch):
|
||||
def fail_llm(*args, **kwargs):
|
||||
raise AssertionError("LLM should not be constructed when summaries are disabled")
|
||||
|
||||
monkeypatch.setattr("app.scheduler.LLMClient", fail_llm)
|
||||
settings = _settings(generate_daily_summary=False, generate_weekly_summary=False)
|
||||
|
||||
assert generate_daily_summaries(settings) == []
|
||||
assert generate_weekly_summaries(settings) == []
|
||||
|
||||
|
||||
def test_scheduler_only_registers_enabled_digest_jobs(monkeypatch):
|
||||
created = []
|
||||
|
||||
class FakeScheduler:
|
||||
running = True
|
||||
|
||||
def __init__(self, timezone):
|
||||
self.timezone = timezone
|
||||
self.jobs = []
|
||||
created.append(self)
|
||||
|
||||
def add_job(self, func, trigger, **kwargs):
|
||||
self.jobs.append(kwargs["id"])
|
||||
|
||||
def start(self):
|
||||
pass
|
||||
|
||||
monkeypatch.setattr("app.scheduler.BackgroundScheduler", FakeScheduler)
|
||||
|
||||
scheduler = start_scheduler(_settings(generate_daily_summary=False, generate_weekly_summary=True))
|
||||
|
||||
assert scheduler.jobs == ["poll", "weekly"]
|
||||
Reference in New Issue
Block a user