test(tradein): тесты трека «Москва» — импорт ДКП по 77, чекпоинт per-source, wildcard-хендлер, регион-скоуп коридора, миграция 289, deploy-скрипт (#3051) #3430

Merged
lekss361 merged 1 commit from test/3051-moscow-track-tests into main 2026-09-08 23:30:22 +00:00
Owner

Только тесты — по функционалу, уже смерженному (#3421, #3422, #3423) и проверенному вживую: импорт по 77 (run 6460, 212 937 строк, 0 ошибок), регион-фильтр ДКП-коридора (smoke ЕКБ до/после импорта — те же 19 сделок). Правило от 08.09: тесты после живой проверки.

14 тестов, 6 файлов (только tests/)

  • test_3051_dkp_import_moscow.py (новый, 6): CASE на bind :canonical_city для city/address/raw_payload; фильтр city IS NOT NULL обходится только при canonical_city (regex \s+ по многострочному WHERE); CAST(:raw_payload AS jsonb) + EXCLUDED.raw_payload; doc_types дефолт ['ДКП']; ValueError для неизвестного региона до первого db.execute; _dkp_source_for_region(77) == source seed'а 289.
  • test_3051_dkp_corridor_region_scope.py (новый, 2): мок db по образцу 2846 — оба SQL коридора (street и city-wide widen) несут d.region_code = CAST(:region_code AS int) и bind 77 / дефолт 66; estimate_quality/load_estimate никогда не передают None (fallback DEFAULT_REGION_CODE).
  • test_3051_migration_289_and_deploy_script.py (новый, 3): seed 77 enabled=false, ON CONFLICT (source) DO NOTHING, 3× ADD COLUMN IF NOT EXISTS; bash-валидация REGION_CODE='77;x' и DOC_TYPE="x'y" → rc=1 от валидации (PATH без docker), skipif без bash.
  • Расширены: test_3168_backfill_cursor_resume.py (+1: bind source per-region), test_3051_region_registry.py (+1: canonical_city, region_for_point Москва/ЕКБ/Пермь), test_scraper_kit_scheduler_parity.py (+1: wildcard rosreestr_dkp_import_* резолвит _77, .job is _job_rosreestr_dkp).

Багов в коде не выявлено. pytest 55 passed по этим файлам, ruff чисто. Ревью: code-reviewer APPROVE.

Refs #3051.

🤖 Generated with Claude Code

Только тесты — по функционалу, уже смерженному (#3421, #3422, #3423) и проверенному вживую: импорт по 77 (run 6460, 212 937 строк, 0 ошибок), регион-фильтр ДКП-коридора (smoke ЕКБ до/после импорта — те же 19 сделок). Правило от 08.09: тесты после живой проверки. ## 14 тестов, 6 файлов (только `tests/`) - `test_3051_dkp_import_moscow.py` (новый, 6): CASE на bind `:canonical_city` для city/address/raw_payload; фильтр `city IS NOT NULL` обходится только при canonical_city (regex `\s+` по многострочному WHERE); `CAST(:raw_payload AS jsonb)` + `EXCLUDED.raw_payload`; `doc_types` дефолт `['ДКП']`; `ValueError` для неизвестного региона **до** первого `db.execute`; `_dkp_source_for_region(77)` == source seed'а 289. - `test_3051_dkp_corridor_region_scope.py` (новый, 2): мок db по образцу 2846 — оба SQL коридора (street и city-wide widen) несут `d.region_code = CAST(:region_code AS int)` и bind 77 / дефолт 66; `estimate_quality`/`load_estimate` никогда не передают `None` (fallback `DEFAULT_REGION_CODE`). - `test_3051_migration_289_and_deploy_script.py` (новый, 3): seed 77 `enabled=false`, `ON CONFLICT (source) DO NOTHING`, 3× `ADD COLUMN IF NOT EXISTS`; bash-валидация `REGION_CODE='77;x'` и `DOC_TYPE="x'y"` → rc=1 от валидации (PATH без docker), `skipif` без bash. - Расширены: `test_3168_backfill_cursor_resume.py` (+1: bind `source` per-region), `test_3051_region_registry.py` (+1: `canonical_city`, `region_for_point` Москва/ЕКБ/Пермь), `test_scraper_kit_scheduler_parity.py` (+1: wildcard `rosreestr_dkp_import_*` резолвит `_77`, `.job is _job_rosreestr_dkp`). Багов в коде не выявлено. `pytest` 55 passed по этим файлам, `ruff` чисто. Ревью: code-reviewer ✅ APPROVE. Refs #3051. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
lekss361 added 1 commit 2026-09-08 23:24:08 +00:00
test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 9s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
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 / backend-tests (pull_request) Successful in 5m2s
beb487c12e
Тесты пишутся ПОСЛЕ живой проверки функционала (правило от 08.09):
импорт по 77 — run 6460 (212 937 строк), регион-фильтр коридора — smoke
до/после импорта. 14 тестов: SQL-текст через inspect (regex \s+ для
многострочных клозов), чистые функции, мок db по образцу 2846, subprocess
bash с урезанным PATH (падение от валидации, не от отсутствия docker).
lekss361 merged commit db7eb00759 into main 2026-09-08 23:30:22 +00:00
lekss361 deleted branch test/3051-moscow-track-tests 2026-09-08 23:30:23 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3430
No description provided.