|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 18s
CI / changes (pull_request) Successful in 20s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 3m45s
CI / backend-tests (pull_request) Successful in 16m44s
`TestMultiSiteCountFromDump` читал `.playwright-mcp/ekb-docs/krt_page_raw.html`
и пропускался всегда: файла нет ни в репозитории, ни на дисках (шесть каталогов
`.playwright-mcp` — ни в одном нет `ekb-docs/`), ни на прод-VPS (`find / -xdev`
по имени и по каталогу — пусто).
Восстановить из БД тоже нельзя, хотя выглядит будто можно: на проде
`ekb_krt_sites` = 15 строк с непустым `raw_block`, но там лежит НЕ HTML —
`raw_block=block_text[:4000]` (ekb_krt_registry.py:338), то есть уже очищенный
от тегов текст. Вход парсера из него не собрать.
Зато свойство, ради которого тесты писались, от дампа не зависит: страница
собирается из блоков, которые УЖЕ лежат в этом тест-файле (`_BRUSNIKA_BLOCK` +
`_BABUSHKINA_BLOCK` + третий, «нежилой»), обёрнутых в один `<div>`. Проверяется:
• три блока в двух годовых секциях → три площадки;
• нумерация на реальной странице начинается заново каждый год, поэтому «2.»
встречается дважды — и site_name обязан остаться уникальным;
• границы блоков не текут: договор 1-2/21.7-14 и «Брусника» остаются у своей
площадки, не прилипая к соседям;
• вид КРТ читается поблочно (третий — «нежилой застройки»).
Плюс это первый тест, который проходит через ветку `_extract_krt_section` с
`find_parent` (контейнер `<div>`); одиночные блоки её не касаются вовсе.
ЧЕГО ЗАМЕНА НЕ ПРОВЕРЯЕТ — сказано вслух в комментарии у теста и в #2778:
утверждение «на живой странице ≥14 площадок» синтетикой не заменяется. Оно
вернётся, когда в репозитории появится образец страницы.
Сторож пропусков: две строки убраны из tests/skip_allowlist.txt — иначе он ждал
бы пропуска, которого больше нет. Оставшиеся 6 (PDF-образец ППТ) переписаны с
указанием, какой файл нужен, от кого и что оживёт: #2778.
Верификация: tests/services/scrapers/ — 292 passed, 6 skipped, exit 0. Все 6
пропусков названы в логе (`-rs`) и учтены сторожем. В самом
test_ekb_krt_registry.py пропусков больше нет: 31 passed.
Refs #2778
|
||
|---|---|---|
| .. | ||
| api | ||
| fixtures | ||
| integration | ||
| scrapers | ||
| scripts | ||
| services | ||
| smoke | ||
| sql | ||
| workers | ||
| __init__.py | ||
| conftest.py | ||
| skip_allowlist.txt | ||
| test_admin_weight_profiles.py | ||
| test_app_logging.py | ||
| test_audit_middleware.py | ||
| test_auth_db.py | ||
| test_auth_session_guard.py | ||
| test_auth_session_service.py | ||
| test_concepts_stub.py | ||
| test_connection_capacity_loaders.py | ||
| test_eesk_reserve_loader.py | ||
| test_eias_heat_loader.py | ||
| test_ekb_geoportal_client.py | ||
| test_ekgas_outlet_loader.py | ||
| test_gas_grs_loader.py | ||
| test_gate_verdict.py | ||
| test_gisogd66_loader.py | ||
| test_health.py | ||
| test_layout_signature.py | ||
| test_layout_tz_html.py | ||
| test_layout_tz_pdf.py | ||
| test_network_obremenenie.py | ||
| test_network_zone_humanize.py | ||
| test_noise_loader.py | ||
| test_nspd_client.py | ||
| test_nspd_sync.py | ||
| test_ors_client.py | ||
| test_osm_tp_geocoder.py | ||
| test_osrm_client_local.py | ||
| test_ping.py | ||
| test_poi_score.py | ||
| test_quarter_dump_lookup.py | ||
| test_rbac.py | ||
| test_riasurt_sverdl_client.py | ||
| test_saturation.py | ||
| test_sentry_init.py | ||
| test_utility_infrastructure_loader.py | ||
| test_velocity.py | ||
| test_weight_profiles.py | ||