Fix notifier verification coverage
Some checks failed
ci / openapi (push) Failing after 43s
ci / agent (push) Failing after 24s
ci / server (push) Failing after 42s
ci / stack-smoke (push) Has been skipped
ci / web (push) Failing after 7s

This commit is contained in:
Stanislav Rossovskii
2026-06-23 16:06:58 +04:00
parent 03bf0edddb
commit 6dbae53725
6 changed files with 284 additions and 182 deletions

View File

@@ -7,7 +7,7 @@ from sqlalchemy.ext.asyncio import async_sessionmaker
from monlet_server.models import Agent, Check, Event, Incident, NotificationOutbox
from monlet_server.services.detector import LIVENESS_CHECK_ID, _tick
from monlet_server.settings import reset_settings_cache
from monlet_server.settings import get_settings, reset_settings_cache
from ._helpers import make_event, register_agent
@@ -19,15 +19,20 @@ async def test_detector_transitions(app_client, ui_auth_headers, engine, session
await register_agent(app_client, ui_auth_headers, "agent-dead")
now = datetime.now(UTC)
settings = get_settings()
assert settings.stale_after_sec < settings.dead_after_sec
stale_age = settings.stale_after_sec + (
(settings.dead_after_sec - settings.stale_after_sec) / 2
)
await session.execute(
update(Agent)
.where(Agent.agent_id == "agent-stale")
.values(last_seen_at=now - timedelta(seconds=120))
.values(last_seen_at=now - timedelta(seconds=stale_age))
)
await session.execute(
update(Agent)
.where(Agent.agent_id == "agent-dead")
.values(last_seen_at=now - timedelta(minutes=10))
.values(last_seen_at=now - timedelta(seconds=settings.dead_after_sec + 10))
)
await session.commit()