fix(tests): убрать настоящий сон дослальщика алертов из прогона
All checks were successful
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / changes (pull_request) Successful in 12s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 9s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 5m24s
All checks were successful
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / changes (pull_request) Successful in 12s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 9s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 5m24s
Фоновый дослальщик GlitchTip спит по настоящим часам: три попытки по тридцать секунд. TestClient ждёт завершения background-задачи, привязанной к ответу, поэтому один тест на отказ доставки держал весь прогон минуту, а в CI прогон умирал по таймауту без единой строки об ошибке — набор выглядел «медленным», хотя на деле висел. Проверять надо, что дослальщик вызван и сколько раз, а не то, что интерпретатор умеет спать. Файл тестов вебхука: было зависание, стало 19 passed за 1.36с. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JY6iWDnGDthdvsMWgK1BMG
This commit is contained in:
parent
3ed759da7d
commit
120526e313
1 changed files with 17 additions and 0 deletions
|
|
@ -150,3 +150,20 @@ def pytest_sessionfinish(session, exitstatus) -> None:
|
|||
)
|
||||
if exitstatus == 0:
|
||||
session.exitstatus = 1
|
||||
|
||||
|
||||
# ── Никакого НАСТОЯЩЕГО сна в тестах ─────────────────────────────────────────
|
||||
# Фоновый дослальщик алертов GlitchTip (#3471) спит между попытками по
|
||||
# настоящим часам: три попытки по 30 секунд. `TestClient` из Starlette ждёт
|
||||
# завершения background-задачи, привязанной к ответу, поэтому один-единственный
|
||||
# тест на отказ доставки держал весь прогон около минуты, а в CI прогон просто
|
||||
# умирал по таймауту без единой строки об ошибке.
|
||||
#
|
||||
# Ставим паузу в ноль для ВСЕХ тестов: проверять надо, что дослальщик вызван и
|
||||
# сколько раз, а не то, что интерпретатор умеет спать. Тест, которому нужна
|
||||
# настоящая пауза, переопределяет значение сам.
|
||||
@pytest.fixture(autouse=True)
|
||||
def _no_real_retry_sleep(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
from app.tasks import glitchtip_alert_retry
|
||||
|
||||
monkeypatch.setattr(glitchtip_alert_retry, "_RETRY_DELAY_S", 0.0)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue