perf(tradein-tests): убираем реальные паузы из 5 медленных тестов #3500
No reviewers
Labels
No labels
Fable 5 ревью
GG-форсайт
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
feedback/max
generative
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
ИРД
вторичка
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#3500
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "perf/3471-tests-faster-tradein"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
test_2924_yandex_resolve_tried_at::test_successful_resolve_does_not_mark(26.21с -> ~0.02с): мокнутыйdb.executeдублирует одну строку в retry- и fresh-выборкахbackfill_house_imv, из-за чего реально выполняетсяawait asyncio.sleep(5)анти-бот паузы между "двумя" домами. Фикс:request_delay_sec=0в вызове теста (прод-дефолт 5.0с не тронут).test_house_imv_backfill_browser_flag(2 теста),test_2698_imv_sidecar_wiring::test_backfill_browser_fetcher_gets_proxy_pool_wiring,test_scraper_kit_group_c_backfill_kit_parity::test_house_imv_backfill_browser_fetcher_uses_settings_endpoint— тот же фикс.test_3033_avito_native_secondary_filter(2 теста, 7.82с + 5.72с):fetch_aroundс одной страницей всё равно делает "trailing sleep" анти-бана (request_delay_sec=5.0*jitter) после единственного мокнутого запроса — переданdelay_override_sec=0(сеть уже подменена fake_fetch).Не удалено ни одного теста, ни одного
assert. Прод-задержки (anti-bot 5с вhouse_imv_backfill.py,request_delay_sec=5.0в scraper-kitbase.py) не менялись — ускорен только тестовый прогон.Не успел (бюджет 35 вызовов / 15 мин)
test_auth_api(3 теста, ~12с суммарно) — задержка настоящая: реальный bcrypt cost=12 на каждую попытку логина, неsleep. Требует отдельного анализа (monkeypatch_BCRYPT_ROUNDSвapp/core/password.pyдля конкретных тестов, аккуратно — это security-параметр).test_3398_estimator_valuations_proxy_pool::test_yandex_lease_released_once_on_success(5.57с) — не дошли.test_alerts_become_events.py(10 тестов ~2.05с каждый, ~20с суммарно) — общий источник паузы не найден, похоже на фикстуру.test_backfill_wave2::test_backfill_yandex_addresses_error_on_non_200(3.02с) — не дошли.test_estimator_event_loop_2207::test_estimate_quality_does_not_block_event_loop(2.42с) — вероятно НЕ стоит трогать: тест намеренно делает реальныйtime.sleep(0.3), чтобы доказать, чтоestimate_qualityне блокирует event loop (сравнивает с параллельной корутиной). Решение по нему — за владельцем.Test plan
ruff checkпо всем 5 изменённым файлам — чистоuv run pytest tests/test_2924_yandex_resolve_tried_at.py tests/test_house_imv_backfill_browser_flag.py tests/test_2698_imv_sidecar_wiring.py tests/test_scraper_kit_group_c_backfill_kit_parity.py tests/test_3033_avito_native_secondary_filter.py— 27 passed за 4.07с (было ~55-60с)pytest -q) не запускался в рамках этой сессии (бюджет) — рекомендую прогнать в CI🤖 Generated with Claude Code
https://claude.ai/code/session_01JY6iWDnGDthdvsMWgK1BMG