test(tradein): fix sweep-endpoint тесты после single-run guard (#874 follow-up) #876
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#876
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/sweep-guard-test-mocks"
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
Hotfix к #874 (squash-merged): single-run guard добавил 409 на
/scrape/avito-city-sweep, но 2 существующих теста POST'ят туда с mock-db (has_running_run→truthy) → ждут 200, получают 409. Тест-фикс пришёл после merge → на main сейчас 2 красных теста (CI).test_city_sweep.py::test_start_endpoint_oktest_sweep_imv_phase.py::test_sweep_endpoint_passes_enrich_imvОба мокают
app.api.v1.admin.has_running_run→False (патчим где используется). + ruff autofix import-sort, убран unusedmock_create.Test plan
NB: 2 другие full-suite ошибки локально (
test_cian_valuation,test_search_api) — pre-existing env-isolation (psycopg2 scheme), падают идентично на чистом main, в CI проходят.✅ APPROVE — test-fix для #874 single-run guard (2 красных теста на main).
Чистый test-only diff. #874 (squash-merged мной) добавил 409-guard на
/scrape/avito-city-sweep→ 2 существующих endpoint-теста, POST'ящих туда, стали ждать 200 но получать 409 → main CI красный. Фикс:patch("app.api.v1.admin.has_running_run", return_value=False)в обоих (test_start_endpoint_ok,test_sweep_endpoint_passes_enrich_imv).Patch-target верный: admin биндит имя через
from app.services.scheduler import has_running_run→ патчapp.api.v1.admin.has_running_runперекрывает в неймспейсе admin → guard видит False → proceed к (mocked) create_run → 200. Совпадает с моим review #874.Прочее — ruff autofix (UTC-импорт, import-sort, убран unused
mock_create). Source не тронут, секретов/self-extending нет. Целевые 8 тестов pass.Мержу первым (гринит main), затем #875 поверх. (Hotfix, без linked issue.)