gendesign/tradein-mvp/backend/tests
lekss361 994eb79323
All checks were successful
Deploy Trade-In / changes (push) Successful in 16s
Deploy Trade-In / build-browser (push) Successful in 43s
Deploy Trade-In / build-frontend (push) Successful in 2m32s
Deploy Trade-In / test (push) Successful in 6m37s
Deploy Trade-In / build-backend (push) Successful in 1m3s
Deploy Trade-In / deploy (push) Successful in 2m5s
Deploy Trade-In / deploy-status (push) Successful in 1s
Deploy Trade-In / perimeter-smoke (push) Successful in 1m41s
Merge pull request 'Ожидаемые исходы скрапинга перестают быть ошибками' (#3488) from fix/3471-scraper-log-levels into main
2026-09-12 11:48:44 +00:00
..
core
fixtures fix(mera/estimate): перефит хедоники поверх area-бакетного ratio — крупное жильё занижалось на 21% (#3255) 2026-08-29 20:19:27 +00:00
matching fix(tradein/yandex): снести признак «панорама» — его нет на площадке (#2851) 2026-08-12 20:44:11 +00:00
scrapers fix(tradein/cian): капча Циана с HTTP 200 — отказ площадки в обоих слоях (#3402) 2026-09-06 14:10:57 +05:00
scripts feat(tradein/geocoder): регион-параметризация геокодера — region_code в geocode()/known_city_hint, --region-code у скрипта сделок, region_code у admin geocode-missing (#3051) 2026-09-09 02:51:28 +03:00
services Merge pull request 'Ожидаемые исходы скрапинга перестают быть ошибками' (#3488) from fix/3471-scraper-log-levels into main 2026-09-12 11:48:44 +00:00
support chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
tasks test(scrapers): поднять caplog-фильтры под error->warning штатных исходов 2026-09-12 14:39:58 +03:00
__init__.py
conftest.py feat(mera/b2c): анти-абуз для анонимного трафика — этап 2 из 8 (#2546) 2026-08-25 16:27:02 +00:00
skip_allowlist.txt fix(tests): объявить два живых теста #3063 в skip_allowlist (#3069) 2026-08-23 22:14:49 +00:00
test_781_quality_gate.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_930_scheduler_resume_checkpoint.py chore(tradein): две ручки ротации, которых не осталось читателей, и врущий комментарий над ними 2026-08-29 17:07:04 +03:00
test_1781_secondary_only_param.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_2625_run_that_did_nothing.py fix(tradein/scraper): прогон, у которого отказал каждый якорь, перестаёт быть успехом (#2625) (#2813) 2026-08-10 09:36:23 +00:00
test_2657_domclick_proxy_pool.py fix(tradein/domclick): свип ходит через прокси-пул, а отказ узла не обнуляет прогон (#2657) (#2796) 2026-08-09 17:21:49 +00:00
test_2670_stale_source_digest.py fix(scheduler): мерить свежесть источника данными, а не статусом прогона 2026-09-06 00:02:21 +05:00
test_2670_streak_and_partial_coverage.py fix(tradein/domclick): свип ходит через прокси-пул, а отказ узла не обнуляет прогон (#2657) (#2796) 2026-08-09 17:21:49 +00:00
test_2674_avito_full_load_coverage.py fix(tradein/avito): верное объяснение границы окна и критерий приёмки по глубине (#2674) 2026-08-06 04:09:05 +05:00
test_2674_dead_admin_metrics.py fix(tradein/quality): витрина перестаёт рапортовать «доля с кадастром» (#2674) (#2850) 2026-08-12 20:37:16 +00:00
test_2674_writers_honor_schema.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_2677_house_anchor_repair_basis.py fix(mera-public): публичная копия — сервис не называет себя оценщиком, площадки-источники не названы 2026-09-03 09:50:41 +03:00
test_2678_house_type_canon.py fix(tradein/houses): camelCase-типы домов приводятся к канону у источника (#2678) (#2719) 2026-08-06 09:55:54 +00:00
test_2686_ban_kind_split.py chore(tradein): две ручки ротации, которых не осталось читателей, и врущий комментарий над ними 2026-08-29 17:07:04 +03:00
test_2687_domclick_ban_kind.py fix(tradein/domclick): распознанный QRATOR-блок свипа — ban_kind='platform', не 'unknown' (#2687) (#2832) 2026-08-12 20:55:05 +00:00
test_2687_pool_exhaustion_keeps_checkpoint.py chore(tradein): две ручки ротации, которых не осталось читателей, и врущий комментарий над ними 2026-08-29 17:07:04 +03:00
test_2698_imv_sidecar_wiring.py fix(tradein/imv): домовая оценка ходит в сайдкар через пул, а не через чужой env-прокси (#2698) (#2708) 2026-08-06 06:52:15 +00:00
test_2700_cian_detail_403_node.py fix(tradein/cian): 403 снимает узел с выдачи, а не гаснет в return None (#2700) (#2821) 2026-08-10 11:29:19 +00:00
test_2702_run_timestamps.py fix(tradein/scraper): отметки времени прогона перестают замерзать в его же транзакции (#2702) (#2718) 2026-08-06 09:55:50 +00:00
test_2703_zero_result_watchdog.py fix(tradein/scraper): сторож «ноль результатов» перестаёт читать «не измерено» как ноль (#2703) (#2713) 2026-08-06 08:28:59 +00:00
test_2723_browser_probe.py fix(tradein/proxy): проба спрашивает каждую площадку, вердикт пишется на пару «узел × источник» (#2800 B) (#2803) 2026-08-09 18:28:37 +00:00
test_2725_heartbeat_in_batch.py fix(tradein/cian): показать, ЧТО пришло вместо состояния ЖК-страницы, и честно закрывать нулевой прогон (#2767) (#2768) 2026-08-07 08:06:25 +00:00
test_2731_listing_sources_timestamps.py fix(tradein/matching): listing_sources датируется построчно, а не стартом транзакции (#2731) (#2743) 2026-08-06 16:35:29 +00:00
test_2731_observation_timestamps.py fix(tradein/scrapers): метка наблюдения — время строки, а не старта транзакции (#2731) (#2742) 2026-08-06 16:19:56 +00:00
test_2764_ban_kind_no_default.py fix(tradein/scrapers): диагноз блока терялся при схлопывании, а в алерт шла непроверенная причина (#3183) 2026-08-28 17:15:02 +00:00
test_2767_cian_waf_block.py fix(tradein/cian): Циан переименовал MFE карточки ЖК — читать оба имени (#2767) (#2804) 2026-08-09 18:41:02 +00:00
test_2767_newbuilding_parse_miss.py fix(tradein/newbuilding): счётчики записи различают вставку и обновление (#2807) (#2809) 2026-08-10 08:50:56 +00:00
test_2800_per_source_probe.py feat(tradein/proxy): прогон знает свой узел, а снятый бан перестаёт стирать историю (#3404) 2026-09-06 13:05:20 +03:00
test_2807_write_counters_honesty.py fix(tradein/newbuilding): счётчики записи различают вставку и обновление (#2807) (#2809) 2026-08-10 08:50:56 +00:00
test_2830_pool_bypass_tails.py chore(tradein/proxy): последние две ручки admin.py — через фабрику фетчера; снят форс pool-режима у cian-history (#3197, #3386) 2026-09-06 17:22:46 +05:00
test_2857_search_mv_placeholder_columns.py chore(tradein/db): убрать три колонки-заглушки витрины поиска (#2857) (#2858) 2026-08-13 07:25:43 +00:00
test_2860_yandex_sweep_run_status.py fix(#3197): no_proxy_stop=1 как у соседей, INFO на финале хендлера, докстринг фабрики 2026-09-06 06:27:40 +05:00
test_2899_market_percentile.py feat(tradein): позиция квартиры внутри когорты аналогов — перцентиль (#2899) (#2926) 2026-08-19 10:08:18 +00:00
test_2924_yandex_resolve_tried_at.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_2936_unknown_attr_penalty.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_2953_nominatim_throttle.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_2992_upsert_unchanged_gate.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_2996_mislocated_houses_watchdog.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_3033_avito_native_secondary_filter.py feat(tradein/avito): путь вторички для якорного и citywide-обхода (#3033, follow-up) (#3042) 2026-08-21 15:33:22 +00:00
test_3036_detail_house_params_to_houses.py feat(tradein/avito): house-поля с детальной страницы доезжают в houses (#3036) (#3040) 2026-08-21 14:48:36 +00:00
test_3044_avito_439_classified_as_block.py fix(avito): считать HTTP 439 блокировкой, а не концом выдачи (#3065) 2026-08-23 21:49:35 +00:00
test_3044_enriched_result_key.py fix(tradein/observability): результат detail-бэкфиллов доезжает до колонки total_seen (#3044) 2026-08-26 12:23:19 +05:00
test_3045_detail_backfill_browser_proxy.py fix(tradein/avito): браузерный бэкфилл ходил мимо пула прокси 2026-08-27 15:58:26 +03:00
test_3051_dkp_corridor_region_scope.py test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта 2026-09-09 02:23:47 +03:00
test_3051_dkp_import_moscow.py test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта 2026-09-09 02:23:47 +03:00
test_3051_estimate_region_scope.py feat(msk): импорт сырья по Москве в listings и region-aware геокодирование 2026-09-10 18:50:37 +03:00
test_3051_houses_region_code.py feat(tradein/matching): region_code у houses — вывод, а не выдумка (#3051 п.4) 2026-08-27 13:51:48 +05:00
test_3051_migration_289_and_deploy_script.py test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта 2026-09-09 02:23:47 +03:00
test_3051_moscow_okrug_bands.py fix(msk): тест полос по округам разъехался с main — у _fetch_deals нет rooms 2026-09-12 01:53:33 +03:00
test_3051_region_registry.py test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта 2026-09-09 02:23:47 +03:00
test_3051_suggest_region_scope.py fix(mera): московский city_hint больше не уходит молча в регион 66 2026-09-12 13:35:41 +03:00
test_3063_pro_seller_from_agency.py feat(tradein/yandex): is_pro_seller выводится из агентского блока + бэкфилл 4469 строк (#3063 п.2) 2026-08-26 12:48:18 +05:00
test_3063_seller_fields_not_eroded.py fix(scraper-kit): бедный re-scrape больше не стирает признаки продавца (#3067) 2026-08-23 21:52:38 +00:00
test_3074_avito_anchor_checkpoint.py feat(tradein/scraper): чекпоинт по якорям для avito_city_sweep (#3074) 2026-08-26 14:52:46 +03:00
test_3074_avito_newbuilding_checkpoint.py feat(tradein/scraper): чекпоинты для avito_newbuilding_sweep — страница как единица (#3074) 2026-08-28 00:10:56 +03:00
test_3074_checkpoint_survives_claim.py fix(tradein/scheduler): чекпоинт предшественника переживает обрыв до первой новой корзины (#3074) 2026-08-26 12:35:44 +05:00
test_3074_cian_anchor_checkpoint.py feat(tradein/scraper): чекпоинт по якорям для cian_city_sweep (#3074) 2026-08-26 17:21:58 +03:00
test_3074_yandex_sweep_checkpoint.py feat(tradein/yandex): чекпоинты для yandex_city_sweep — combo как единица возобновления (#3074) 2026-08-26 12:43:58 +05:00
test_3082_estimate_concurrency_cap.py test(tradein): гонка на sleep(0.05) вешала тест потолка оценок на 120с (#3270) 2026-08-30 12:02:45 +03:00
test_3118_domclick_checkpoint.py feat(tradein/domclick): чекпоинты для city_sweep — корзина как единица возобновления (#3118, #3074) 2026-08-27 16:52:44 +05:00
test_3118_domclick_no_proxy.py fix(tradein/domclick): исчерпание пула прокси свипа теперь infra-бан, не отказ сбора 2026-08-28 00:54:48 +03:00
test_3118_domclick_warm_context.py fix(tradein/domclick): свип брал BFF навигацией браузера — теперь подзапросом (#3264) 2026-08-30 11:24:28 +03:00
test_3122_boot_reap.py feat(tradein/scheduler): boot-reap — прогоны предыдущего контейнера снимаются на старте (#3122) 2026-08-27 14:17:42 +05:00
test_3154_query_secret_scrub.py fix(tradein): маскировать секрет и в параметрах с префиксом (#3154) 2026-09-05 23:03:16 +05:00
test_3168_backfill_cursor_resume.py test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта 2026-09-09 02:23:47 +03:00
test_3170_yandex_combo_checkpoint.py fix(tradein/yandex): чекпоинт combo ставился до save_listings, не после 2026-08-28 00:48:55 +03:00
test_3191_yandex_detail_completeness.py fix(tradein): маркер полноты — encryptedPhones ИЛИ redirectPhones (#3191) 2026-09-06 00:14:43 +05:00
test_3194_hide_sql_parameters.py fix(#3194): hide_parameters=True на всех движках, include_local_variables=False у scheduler 2026-08-30 14:53:41 +05:00
test_3196_cian_ban_kind.py fix(tradein/scrapers): диагноз блока брался из текстовых маркеров чужой площадки, а не из HTTP-статуса (#3196) 2026-08-28 23:21:54 +03:00
test_3196_domclick_ban_kind.py fix(tradein/domclick): отказ с кодом 401 классифицировался как причина неизвестной природы (#3196) 2026-08-29 12:19:18 +03:00
test_3196_yandex_ban_kind.py fix(tradein): недогруженная карточка Яндекса — отказ, а не успех (#3191) 2026-09-05 23:59:15 +05:00
test_3197_admin_debug_browser_pool_wiring.py chore(#3197): cian-login — без холостой аренды и ложного отказа (/login сайдкара override не берёт); честные докстринги 2026-09-06 17:48:29 +05:00
test_3197_cian_history_proxy_pool_wiring.py fix(#3197): пустой пул пробрасывается из cian fetch_detail; тест через настоящий fetch_detail 2026-09-06 03:05:32 +05:00
test_3197_domclick_proxy_pool_wiring.py fix(tradein/domclick): backfill ходил в сайдкар мимо прокси-пула (#3197 ч.1) 2026-08-29 15:26:14 +03:00
test_3197_yandex_newbuilding_proxy_pool_wiring.py fix(#3197): no_proxy_stop=1 как у соседей, INFO на финале хендлера, докстринг фабрики 2026-09-06 06:27:40 +05:00
test_3234_house_facts_fallback.py feat(mera/estimate): характеристики дома из справочника, а не только из формы (#3242) 2026-08-29 18:06:17 +00:00
test_3251_avito_warm_context.py feat(tradein/avito): бан площадки не менял IP — прогон добивался в тот же забаненный адрес (#3283) (#3313) 2026-09-01 08:05:48 +00:00
test_3253_domclick_house_fields.py fix(tradein): выборка миграции 286 повторяет гейт 1:1, правило первой точки (#3376) 2026-09-06 03:53:08 +05:00
test_3256_deals_rooms_key.py test(estimator): полоса площади — единственный фильтр похожести, а не просто «есть» 2026-09-12 02:39:28 +05:00
test_3257_house_facts_endpoint.py feat(mera/estimate): ручка фактов дома для предзаполнения формы + гейт «этаж не выше дома» (#3257) 2026-08-29 20:34:00 +00:00
test_3264_domclick_sweep_cookies.py fix(tradein/domclick): свип ходил на QRATOR без кук и вис на PoW каждым запросом (#3264) 2026-08-30 09:40:21 +03:00
test_3264_sweep_subresource_mode.py fix(tradein/domclick): свип брал BFF навигацией браузера — теперь подзапросом (#3264) 2026-08-30 11:24:28 +03:00
test_3267_block_marker_vs_listing_text.py fix(tradein/domclick): «система защиты от протечек» в объявлении читалась как блок QRATOR 2026-08-30 11:49:47 +03:00
test_3283_avito_sidecar_ban_is_platform_ban.py fix(tradein/cian): капча Циана с HTTP 200 — отказ площадки в обоих слоях (#3402) 2026-09-06 14:10:57 +05:00
test_3283g_rotate_on_platform_ban.py feat(tradein/avito): бан площадки не менял IP — прогон добивался в тот же забаненный адрес (#3283) (#3313) 2026-09-01 08:05:48 +00:00
test_3284_cian_detail_backfill_queue.py feat(tradein/cian): у Циана не было добора карточек — только побочный эффект задачи про историю (#3284) 2026-08-30 15:34:36 +03:00
test_3288_avito_ban_per_source.py fix(tradein/cian): капча Циана с HTTP 200 — отказ площадки в обоих слоях (#3402) 2026-09-06 14:10:57 +05:00
test_3288b_block_kind_ratio.py fix(tradein): понижать статус только у прогона, который работу сделал (#3288) 2026-09-06 00:28:24 +05:00
test_3297_avito_detail_browser_status.py fix(tradein/avito): browser-путь добора не смотрел на HTTP-статус — отказ площадки уходил в ошибку парсинга (#3297) 2026-08-31 14:16:47 +03:00
test_3315_avito_exhaustive_containment_skip.py fix(avito): skip fully-covered price ranges before probing on resume 2026-09-05 23:06:26 +05:00
test_3319_citysweep_checkpoint.py docs(scraper-kit): обоснование #3319 — что именно теряло чекпоинт 2026-09-02 14:53:02 +05:00
test_3332_domclick_counter_identity.py fix(tradein/backfill): save-False у yandex/avito больше не теряет попытку — attempted == сумма исходов 2026-09-05 22:47:08 +05:00
test_3333_drain_mark_all_sweeps.py fix(scraper-kit): метка дрейна interrupted=1 во всех city-свипах (#3333) 2026-09-05 22:44:46 +05:00
test_3338_backfill_counter_identity.py fix(tradein): недогруженная карточка Яндекса — отказ, а не успех (#3191) 2026-09-05 23:59:15 +05:00
test_3355_drain_mark_full_loads.py docs(#3390): убрать ложные «counters ЗАМЕНЯЕТ» из комментариев/докстрингов; гейт test_3168 — честная формулировка 2026-09-06 12:34:53 +05:00
test_3359_cian_exhaustive_containment_skip.py fix(cian,yandex): skip fully-covered price ranges before probing on resume 2026-09-05 23:56:46 +05:00
test_3359_yandex_exhaustive_containment_skip.py fix(scraper-kit): yandex on_bucket отдаёт лоты бакета, а не len(seen) 2026-09-06 01:55:45 +05:00
test_3368_yandex_leaf_cap_complete.py fix(scraper-kit): yandex on_bucket отдаёт лоты бакета, а не len(seen) 2026-09-06 01:55:45 +05:00
test_3369_domclick_cancel_checkpoint.py fix(domclick): честная мотивировка чекпоинта + один _payload() на все ветки 2026-09-06 01:13:15 +05:00
test_3384_no_proxy_at_batch_start.py docs(#3390): убрать ложные «counters ЗАМЕНЯЕТ» из комментариев/докстрингов; гейт test_3168 — честная формулировка 2026-09-06 12:34:53 +05:00
test_3386_estimator_imv_proxy_pool.py fix(#3386): curl_proxy_url — health=False и на отмене (BaseException); admin IMV через пул; тест без create=True 2026-09-06 10:57:08 +05:00
test_3390_single_runs_module.py refactor(tradein/runs): одна реализация scrape_runs — kit, семантика counters мерж (#3390) 2026-09-06 11:45:56 +05:00
test_3391_drain_marks_inflight_app_tasks.py docs(#3390): убрать ложные «counters ЗАМЕНЯЕТ» из комментариев/докстрингов; гейт test_3168 — честная формулировка 2026-09-06 12:34:53 +05:00
test_3393_interrupted_runs_outside_streaks.py fix(#3393): capped по сканированному окну — interrupted-строка не глушит лестницу навсегда; контроль zero-сторожа 2026-09-06 10:07:29 +05:00
test_3394_cian_sweep_houses_proxy_pool.py fix(#3394): стоп по пустому пулу — по цепочке причин на уровне якоря; один errors_count; ban_kind=infra под тестом 2026-09-06 10:15:43 +05:00
test_3398_estimator_valuations_proxy_pool.py fix(#3398): пустой пул в фоновой догрузке — WARNING без трейсбека (общая функция); комментарий про stateless 2026-09-06 11:58:42 +05:00
test_3398_pool_ops_off_event_loop.py fix(#3398): acurl_proxy_url — вторая отмена не бросает lease; тест меряет наш release, а не teardown; потолок бюджета в докстринге 2026-09-06 16:49:12 +05:00
test_3402_cian_captcha_http200.py fix(cian): капча видна в отчёте прогона и банит узел на curl-пути (#3402) 2026-09-06 15:30:12 +05:00
test_3404_proxy_run_attribution.py feat(tradein/proxy): прогон знает свой узел, а снятый бан перестаёт стирать историю (#3404) 2026-09-06 13:05:20 +03:00
test_3408_db_step_cancel_orphan.py fix(mera): отмена по бюджету оставляла осиротевший поток в чужой Session 2026-09-12 02:20:26 +05:00
test_3408_estimator_db_off_loop.py fix(mera): sync-БД источников эстиматора — с event loop в поток и не через фетч 2026-09-12 01:01:54 +05:00
test_3408_pool_ceiling.py fix(mera): pool_timeout 30→5 с — отдельным коммитом, с триггером отката 2026-09-12 02:23:09 +05:00
test_3449_geocoder_cancel_orphan.py Гейт на ВСЕ 34 проводки + запрет вложенных бюджетов (ревью #3460) 2026-09-12 13:57:49 +05:00
test_3452_corridor_advisory_zone.py fix(tradein): коридор ДКП с малым числом сделок помечен справочным 2026-09-12 13:42:43 +05:00
test_3471_product_metrics.py feat(metrics): продуктовые счётчики Prometheus для Меры и Птицы + дашборд 2026-09-12 14:22:33 +03:00
test_account_quota.py feat(mera/b2c): анти-абуз для анонимного трафика — этап 2 из 8 (#2546) 2026-08-25 16:27:02 +00:00
test_admin_cian_session_endpoints.py chore(tradein/proxy): последние две ручки admin.py — через фабрику фетчера; снят форс pool-режима у cian-history (#3197, #3386) 2026-09-06 17:22:46 +05:00
test_admin_proxies.py feat(tradein/proxy): прогон знает свой узел, а снятый бан перестаёт стирать историю (#3404) 2026-09-06 13:05:20 +03:00
test_admin_scrape_avito_proxy_provider.py fix(tradein/scraper): подключить браузерный путь Авито к пулу прокси 2026-08-02 17:31:00 +03:00
test_admin_ssrf.py
test_admin_stale_counters.py fix(tradein): сегментный гард в «медианном торге», свежесть в индексе локации, честные админ-счётчики (#2660) 2026-08-05 22:39:48 +05:00
test_admin_yandex_session_endpoints.py fix(tradein/scrapers): хранилище авторизованной сессии Яндекс.Недвижимости (#3195) 2026-08-28 19:02:05 +00:00
test_alerts_become_events.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_api_avito_stage4a.py
test_asking_sold_ratio_cache_poison.py
test_asking_to_sold_ratio.py Merge origin/main into fix/2656-anchor-ratio-freshness — конфликты: метки #2656→#2661 (main), импорт-union, baseline unrecorded=0 (перезахваченная фикстура) 2026-08-26 18:22:54 +05:00
test_audit_api.py fix(tradein/auth): отказ по насыщению — до выборки из БД и с агрегированным следом (#2715) (#2734) 2026-08-06 14:27:26 +00:00
test_auth_api.py Merge pull request 'fix(tradein/rbac): 401-оракул закрыт — несуществующий путь под публичным префиксом отвечает так же, как любой другой мусор' (#3352) from fix/3324-rbac-401-oracle into main 2026-09-05 18:19:27 +00:00
test_auth_dsn_from_parts.py feat(tradein): DSN к БД auth собирается из AUTH_DB_PASSWORD, а не дублирует секрет 2026-08-02 12:05:41 +03:00
test_auth_session.py feat(tradein): переключаемый реестр людей — подготовка переезда «Меры» в БД auth [PR-2b/6] 2026-08-01 02:50:14 +03:00
test_avito_backfill_cadence.py fix(tradein/avito): бэкфилл простаивал 23 часа из 24 — каденс был суточным 2026-08-22 14:57:20 +03:00
test_avito_detail_fields_3047.py chore(tradein/avito): ссылки на реальный issue #3047 вместо выдуманного номера 2026-08-21 23:40:22 +03:00
test_avito_detail_publish_date_year_rollover.py fix(tradein/scrapers): детекция дрейфа разметки вместо тихой пустоты (#2535) 2026-07-26 22:33:54 +00:00
test_avito_imv_parse.py
test_avito_newbuilding_sweep.py
test_avito_offers_per_page.py fix(tradein/avito): страница SERP отдаёт 60 карточек, а не 50 2026-08-21 17:38:55 +03:00
test_avito_serp_city_slug.py
test_avito_sweep_dom_drift.py fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) (#2653) 2026-08-05 11:37:35 +00:00
test_backfill_external_valuations_house_id.py
test_backfill_honest_status.py fix(tradein/scrapers): не путать rows_inserted/processed с честным результатным ключом 2026-08-15 18:49:37 +03:00
test_backfill_wave2.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_backtest_estimator.py
test_backtest_fixture_roundtrip.py fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629) 2026-08-02 12:41:48 +00:00
test_backtest_regression_gate.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_backtest_sampling_spread.py бэктест: режим выборки вразброс — ORDER BY id DESC садится на несколько улиц 2026-08-31 11:28:11 +05:00
test_buildings_api.py
test_captcha_vs_empty_detect.py fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) (#2653) 2026-08-05 11:37:35 +00:00
test_cbr_macro.py feat(mera): макро-ряды ЦБ РФ — ипотека по субъектам и ключевая ставка 2026-09-09 00:33:12 +03:00
test_ceiling_height_unify_2699.py fix(tradein): свести высоту потолков к одной колонке ceiling_height_m (#2779) 2026-08-07 09:18:48 +00:00
test_cian_bti_house_persist.py fix(tradein/matching): город развёртки доезжает до стража Tier-2a — межгородские склейки домов (#2777) (#2808) 2026-08-10 08:51:14 +00:00
test_cian_city_sweep.py
test_cian_history_backfill_listings_rollback.py fix(tradein): откат транзакции в backfill + неотрицательный счётчик квот (#2538) 2026-07-26 22:21:08 +00:00
test_cian_serp_offers_total_mismatch.py fix(tradein/scrapers): детекция дрейфа разметки вместо тихой пустоты (#2535) 2026-07-26 22:33:54 +00:00
test_cian_session.py test(scrapers): поднять caplog-фильтры под error->warning штатных исходов 2026-09-12 14:39:58 +03:00
test_cian_state_parser.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_cian_views_parse.py fix(tradein/yandex): просмотры режутся по разделителю тысяч + Циан молчит о непонятой фразе (#2669) (#2773) 2026-08-07 08:44:48 +00:00
test_city_sweep.py feat(tradein): вся Свердловская область — 40 городов в city-sweep (#2879) 2026-08-13 19:08:44 +00:00
test_config_avito_rotations.py
test_consent_text_frontend_sync.py fix(tradein/lead): кликабельная ссылка на политику ПДн в чекбоксе согласия 2026-08-14 15:29:49 +03:00
test_coverage_probe_endpoint.py feat(msk): проба покрытия отвечает по Москве — сетка центроидов и радиус на точку 2026-09-11 01:37:27 +03:00
test_data_erasure.py fix(tradein/privacy): нормализация телефона к каноническому РФ-виду при erasure (#2547) 2026-08-06 19:59:34 +03:00
test_deactivate_stale_avito.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_deactivate_stale_deactivation_cap.py feat(tradein/deactivate-stale): страховочные рельсы объёма снятия (#3066) 2026-08-24 08:44:32 +00:00
test_deactivate_stale_floor_degradation.py feat(tradein/deactivate-stale): страховочные рельсы объёма снятия (#3066) 2026-08-24 08:44:32 +00:00
test_deactivate_stale_health_gate.py fix(tradein): TTL-деактивация не исполняется, пока сбор по источнику лежит (#2659) (#2710) 2026-08-06 08:40:41 +00:00
test_deactivate_stale_listings.py fix(tradein/deactivate): resolve migration 264 renumber collision on merge with main 2026-08-15 21:13:41 +03:00
test_deactivate_stale_revisit_floor.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_deactivate_stale_ttl_cap.py docs(tradein/deactivate): убрать неверное число из обоснования потолка 2026-08-15 21:00:42 +03:00
test_dead_code_sweep_2674.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_deals_freshness_monitor.py
test_deals_sanitize.py
test_defer_respects_interval_minutes_3312.py fix(scheduler): defer уважает interval_minutes источника 2026-09-05 22:50:58 +05:00
test_dkp_corridor_as_of_2846.py fix(tradein/dkp): «ФАКТИЧЕСКИЕ СДЕЛКИ» называют свой возраст, а не окно поиска (#2847) 2026-08-12 18:51:10 +00:00
test_domclick_admin_apis.py
test_domclick_session.py
test_domclick_sweep.py feat(tradein/domklik): ЖК в свою колонку вместо только raw_payload (#3076) 2026-08-24 16:04:24 +00:00
test_domrf_kapremont_loader.py
test_dtp_index.py feat(tradein): слой ДТП из dtp-stat.ru в PostGIS + радиусные агрегаты (#3428) 2026-09-08 22:10:56 +00:00
test_dtp_stat_loader.py feat(tradein): слой ДТП из dtp-stat.ru в PostGIS + радиусные агрегаты (#3428) 2026-09-08 22:10:56 +00:00
test_ekb_geoportal_ingest.py chore(tradein/geocoder): удалить Яндекс-геокодер (#2593) 2026-07-31 21:22:09 +03:00
test_estimate_consent_gate.py chore(tradein/privacy): перенумерация миграций и merge main - разблокировка PR (#2547) 2026-08-06 15:56:02 +03:00
test_estimate_external_sources_background.py feat(tradein/estimate): внешние оценки не ждутся в запросе — 9 секунд превращаются в 1 2026-08-22 15:51:31 +03:00
test_estimate_idor.py feat(payments): роутер checkout/notify, статус-машина и выдача по capability-ссылке 2026-08-29 19:38:37 +05:00
test_estimate_rate_limit.py feat(mera/b2c): анти-абуз для анонимного трафика — этап 2 из 8 (#2546) 2026-08-25 16:27:02 +00:00
test_estimate_revival.py fix(tradein/estimate): отдавать фактический радиус подбора, а не выбор пользователя (#2835) 2026-08-12 12:48:18 +00:00
test_estimator_analogs_display_consistency.py
test_estimator_anchor_dedup_gap_2265.py
test_estimator_audit_fixes.py fix(tradein/sber): сторож мерит отставание загрузки, а не календарь (#2846) (#2849) 2026-08-12 19:36:20 +00:00
test_estimator_cian_budget.py
test_estimator_cian_integration.py
test_estimator_client_coords.py feat(msk): импорт сырья по Москве в listings и region-aware геокодирование 2026-09-10 18:50:37 +03:00
test_estimator_cohort.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_confidence_reliability_consistency.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_deals_headline_fallback_oblast_d.py fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629) 2026-08-02 12:41:48 +00:00
test_estimator_dedup_cross_source_2087.py chore(tradein): разбор мёртвого кода — подключить, удалить или задокументировать (#2674) 2026-08-06 05:00:36 +05:00
test_estimator_enrich.py
test_estimator_event_loop_2207.py
test_estimator_expected_sold.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_expected_sold_clamp.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_floor_optional.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_ghost_anchor_1871.py
test_estimator_ghost_anchor_radius_empty_1871.py
test_estimator_headline_sufficiency.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_hedonic.py fix(mera/estimate): перефит хедоники поверх area-бакетного ratio — крупное жильё занижалось на 21% (#3255) 2026-08-29 20:19:27 +00:00
test_estimator_implausible_year.py fix(tradein/estimate): не применять хедонику к неправдоподобному году постройки 2026-08-02 14:04:11 +03:00
test_estimator_imv_blend.py fix(tradein): завершить thin-market гейт IMV — Guard-1b и GET-путь (#3323) 2026-09-02 17:44:32 +05:00
test_estimator_imv_budget.py feat(mera/b2c): анти-абуз для анонимного трафика — этап 2 из 8 (#2546) 2026-08-25 16:27:02 +00:00
test_estimator_imv_integration.py
test_estimator_kitchen_ceiling_2012.py
test_estimator_manual_review.py
test_estimator_n_analogs_priced.py fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629) 2026-08-02 12:41:48 +00:00
test_estimator_null_floor_timeout.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_premium_building.py
test_estimator_price_spine.py fix(tradein/estimate): залипший anchor_tier молча глушил IMV-blend и quarter-index 2026-08-17 10:54:07 +03:00
test_estimator_price_trend_dedup.py
test_estimator_pure_units.py chore(ci): деплой на изменение ролей, ruff-гейт для МЕРЫ, удаление мёртвого workflow 2026-08-06 21:34:36 +03:00
test_estimator_quarter_from_own_coords.py fix(tradein/estimate): не подставлять квартал соседа вместо квартала цели (#2839) 2026-08-12 15:55:24 +00:00
test_estimator_quarter_index.py fix(tradein): завершить thin-market гейт IMV — Guard-1b и GET-путь (#3323) 2026-09-02 17:44:32 +05:00
test_estimator_radius_dedup_1871.py
test_estimator_radius_floor.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_radius_m_2044.py fix(tradein): честный радиус поиска аналогов на карте v2 (#2632) (#2643) 2026-08-05 06:13:58 +00:00
test_estimator_range_floor.py fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629) 2026-08-02 12:41:48 +00:00
test_estimator_ratio_savepoint_retry_2265.py
test_estimator_ratio_tier_fix.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_repair_coef.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_sber_time_adjust.py
test_estimator_search_radius_2632.py fix(tradein/estimate): отдавать фактический радиус подбора, а не выбор пользователя (#2835) 2026-08-12 12:48:18 +00:00
test_estimator_segment_multiplier.py fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629) 2026-08-02 12:41:48 +00:00
test_estimator_source_metrics_2043.py
test_estimator_source_quota.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_estimator_split_corridor_1871.py
test_estimator_tier_s_house_boundary.py fix(tradein/estimator): граница номера дома в подборе аналогов «тот же дом» (#2534) 2026-07-26 22:07:00 +00:00
test_estimator_yandex_integration.py fix(tradein/yandex): снести признак «панорама» — его нет на площадке (#2851) 2026-08-12 20:44:11 +00:00
test_extract_short_addr.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_extval_house_id_write_path.py
test_fns_opendata_loader.py feat(tradein): bulk-дампы открытых данных ФНС по юрлицам + lookup по ИНН (#3429) 2026-09-08 22:29:10 +00:00
test_freshness_by_data_3172.py fix(scheduler): мерить свежесть источника данными, а не статусом прогона 2026-09-06 00:02:21 +05:00
test_freshness_filter_2656.py test(2656): краснота на main — по значению, не ImportError 2026-08-26 18:25:54 +05:00
test_frt_mkd_loader.py feat(mera): загрузчик реестра МКД АИС ФРТ → обогащение houses 2026-09-09 00:33:09 +03:00
test_gar_flats_loader.py fix(tests): починить и вычистить проверки, которые не исполнялись ни разу (#2744) 2026-08-06 16:57:28 +00:00
test_geo_precision.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_geocode_reverse_api.py chore(tradein/geocoder): удалить Яндекс-геокодер (#2593) 2026-07-31 21:22:09 +03:00
test_geocode_suggest_address_join.py fix(tradein): подсказки адреса — пустые части адреса выпадают, а не печатаются 2026-08-30 14:58:03 +05:00
test_geocoder_bbox.py chore(tradein/geocoder): удалить Яндекс-геокодер (#2593) 2026-07-31 21:22:09 +03:00
test_geocoder_cadastral_matcher.py fix(tradein/geocoder): строгий матч литеры дома + починка DaData region-фильтра (#2622) 2026-08-02 12:06:44 +00:00
test_geocoder_city_hint.py feat(msk): импорт сырья по Москве в listings и region-aware геокодирование 2026-09-10 18:50:37 +03:00
test_geocoder_city_substitution.py fix(tradein/geocoder): инвариант «чужой топоним + результат внутри ЕКБ = недостоверно» (#2590) (#2837) 2026-08-12 14:26:58 +00:00
test_geocoder_local_houses_fallback.py fix(tradein/geocoder): stop apt number leaking into house + houses bbox/sibling guard 2026-08-15 18:50:17 +03:00
test_geocoder_nominatim_lookup.py chore(tradein/geocoder): удалить остатки скриптов Яндекс-геокодера, часть 3 (#2593) 2026-07-31 23:16:19 +03:00
test_glitchtip_alert_retry.py feat(glitchtip): фоновая ретрай-доставка алерта в Telegram при отказе синхронной попытки 2026-09-12 14:11:01 +03:00
test_glitchtip_webhook.py fix(tg): связь с Telegram не встаёт колом, ответ оператора не теряется 2026-09-12 10:13:44 +03:00
test_health_endpoint.py fix(health): HEAD /health на верном бэкенде (Site Finder) + честные заголовки 2026-08-15 18:44:31 +03:00
test_history_scope.py
test_honest_run_status_failed_ratio.py fix(tradein/scrapers): не путать rows_inserted/processed с честным результатным ключом 2026-08-15 18:49:37 +03:00
test_house_dedup_merge.py fix(tradein/dedup): остаток схлопывания домов становится измеряемым числом, а не оценкой (#2690) (#2820) 2026-08-10 11:18:19 +00:00
test_house_imv_backfill_browser_flag.py
test_house_imv_params_honesty.py fix(tradein/imv): «временная» ошибка снова временная — 1390 домов возвращаются в очередь (#2843) 2026-08-12 16:06:24 +00:00
test_house_imv_retry_stuck.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_identity_store.py feat(tradein): DSN к БД auth собирается из AUTH_DB_PASSWORD, а не дублирует секрет 2026-08-02 12:05:41 +03:00
test_impersonate_single_source.py fix(tradein/scrapers): три прод-пути остались на chrome120, пока kit ушёл на chrome146 2026-08-27 18:18:05 +03:00
test_imv_status_classification.py imv: HTTP 429 больше не приговаривает дом навечно 2026-09-01 21:21:53 +05:00
test_insufficient_data_flag.py
test_internal_auth_secret.py fix(tradein/tests): тесты авторизации проверяют настоящий guard + реальный рендер PDF (#2541) 2026-07-26 23:04:43 +00:00
test_kit_browser_fetcher_proxy_pool.py fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) (#2653) 2026-08-05 11:37:35 +00:00
test_kit_browser_fetcher_status.py test(#3288): фикстуры бан-страницы на 403 и 500, фальсифицируемые проверки текста; комментарий про путь текста 2026-09-06 02:38:29 +05:00
test_kit_serp_proxy_pool.py chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650) 2026-08-05 09:35:54 +00:00
test_landing_showcase_deals.py feat(mera/лендинг): витрина показывает полосу расхождения −5…+20 %, плитку уверенности сменил замер 12.09 2026-09-12 15:29:10 +05:00
test_landing_stats.py fix(mera/landing): «Цена ДКП» — цена договора, а не произведение; экспозиция считает и Домклик 2026-08-30 00:10:36 +05:00
test_listing_segment_upsert_selfheal.py fix(tradein/scraper): listing_segment самочинится при upsert вместо вечного NULL 2026-08-15 22:28:05 +03:00
test_listing_source_snapshot.py fix(tradein): убрать невыводимые события, развести «снято» и «протухло» (#2674) 2026-08-06 03:01:05 +05:00
test_listings_city_from_sweep.py fix(tradein): бэкфилл-чистка неверных oblast-меток city для yandex/cian (#2628) (#2646) 2026-08-05 07:13:28 +00:00
test_location_index_endpoint.py fix(tradein/location): заменить сломанный коэффициент локации на калиброванный индекс (#2531) 2026-07-26 21:48:15 +00:00
test_matching.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_matching_tier_reachability_2674.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_me_brand.py
test_metrics.py feat(observability): /metrics в обоих бэкендах — счётчики, задержка, дашборд 2026-08-26 11:30:18 +03:00
test_migration_164_yandex_url_canonicalize.py
test_migration_165_remove_n1_source.py
test_migration_189_account_estimate_usage_nonnegative.py fix(tradein): откат транзакции в backfill + неотрицательный счётчик квот (#2538) 2026-07-26 22:21:08 +00:00
test_migration_191_account_quota_unlimited_flag.py feat(tradein/auth): восстановить доступ praktika + безлимит через данные вместо хардкода (#2544) 2026-07-26 23:29:53 +00:00
test_migration_197_backfill_listings_city_from_url.py fix(tradein/geocode): бэкфилл listings.city из слага города в URL Авито (#2594) 2026-08-01 01:46:03 +03:00
test_migration_200_region_code_foreign_cities.py fix(tradein/data): убрать ложный region_code=66 у объявлений чужих городов (#2604) 2026-08-01 21:52:00 +03:00
test_migration_201_purge_dead_mobileproxy_proxies.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_migration_204_cian_oblast_sweeps_secondary.py fix(tradein/scraper): исключить Верхнюю Пышму из вторички Циана — грязная городская метка 2026-08-02 14:07:56 +03:00
test_migration_205_sales_vs_listings_city_filter.py fix(tradein/ui): городской фильтр в витрине «сделки против объявлений» (#2583 H4) (#2627) 2026-08-02 11:54:33 +00:00
test_migration_206_scrape_schedules_cut_wasteful_load.py chore(tradein/scraper): срезать бесполезную нагрузку — темп cian_full_load и джобы с нулевым выходом 2026-08-02 16:51:08 +03:00
test_migration_211_sales_vs_listings_segment_guard.py fix(tradein): сегментный гард в «медианном торге», свежесть в индексе локации, честные админ-счётчики (#2660) 2026-08-05 22:39:48 +05:00
test_migration_257_yandex_source_url_backfill.py fix(tradein/yandex): 3535 source_url ведут на сайт застройщика — переписываем из offerId (#2840) 2026-08-12 15:33:31 +00:00
test_migration_262_oblast_city_sweeps_wave2.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_migration_300_sales_vs_listings_deals_rooms.py fix(mera/sales-vs-listings): снят предикат d.rooms в TVF — он был вторым фильтром по площади (#3451) 2026-09-12 13:25:17 +05:00
test_migration_numbering.py fix(tradein): гейт номеров миграций берёт эталон из git, ручной манифест удалён 2026-08-07 14:35:28 +05:00
test_msk_collector_goto_retry.py fix(msk-collector): сетевой обрыв на машине больше не убивает многочасовой проход 2026-09-12 02:35:42 +03:00
test_msk_raw_import.py feat(msk): импортёр знает Яндекс — город из адреса, ноль внешних вызовов 2026-09-12 02:19:44 +03:00
test_paid_retention_text_consistency.py fix(tradein/payments): pre-flight должен ловить аномалию, не штатное состояние (review PR #2754) 2026-08-06 22:49:09 +03:00
test_password.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_password_call_sites.py test(tradein/auth): правило про синхронную сверку — сторожем, а не комментарием (#2715) (#2735) 2026-08-06 14:35:32 +00:00
test_payments_notification.py fix(tradein/payments): строгий разбор нотификации и отказ вместо догадок на враждебном входе 2026-08-06 15:48:57 +03:00
test_payments_receipt.py feat(tradein/payments): подпись Token, клиент Т-Банка и сборка чека (#2733) 2026-08-06 12:36:57 +00:00
test_payments_router.py fix(payments): обрыв соединения и Init без PaymentURL перестают запирать покупателя 2026-09-06 00:11:35 +05:00
test_payments_token.py fix(tradein/payments): строгий разбор нотификации и отказ вместо догадок на враждебном входе 2026-08-06 15:48:57 +03:00
test_pdf_public_source_labels.py fix(tradein/pdf): клиентский PDF не называет площадки-источники — «Источник N», как в веб-отчёте (#3341) 2026-09-03 11:58:45 +03:00
test_pdf_real_render.py fix(tradein/tests): тесты авторизации проверяют настоящий guard + реальный рендер PDF (#2541) 2026-07-26 23:04:43 +00:00
test_pdf_security.py fix(tradein/pdf): клиентский PDF не называет площадки-источники — «Источник N», как в веб-отчёте (#3341) 2026-09-03 11:58:45 +03:00
test_pipeline_browser_routing.py
test_pipeline_browserfetcher_environment.py fix(tradein/scraper): не ходить через мёртвый запасной прокси (#2634) 2026-08-04 18:27:49 +00:00
test_proxy_pool_curl_paths.py fix(#3386): curl_proxy_url — health=False и на отмене (BaseException); admin IMV через пул; тест без create=True 2026-09-06 10:57:08 +05:00
test_public_mera_api.py Merge pull request 'Москва в реестре городов лендинга и кабинета' (#3472) from feat/msk-public-city-registry into main 2026-09-12 11:04:17 +00:00
test_public_mera_estimate.py fix(mera/b2c): выключенная ручка расчёта подтверждала своё существование и печатала схему 2026-08-29 20:19:15 +05:00
test_purge_expired_trade_in_data.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_ratelimit.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_rbac.py test(rbac): сделать db_only-ветку anon-cloak фальсифицируемой 2026-09-06 01:04:35 +05:00
test_request_audit.py fix(tradein/payments): тело нотификации не течёт в мониторинг и аудит, повторы банка не отбиваются лимитом 2026-08-07 16:17:59 +03:00
test_revisit_floor_lateral_lookup.py fix(tradein/deactivate-stale): пол переобхода — LATERAL вместо equality-join по дате 2026-08-23 15:45:53 +03:00
test_role_single_source.py test(tradein): прод-конфигурация ролей в приёмке #3316 + компромисс фолбэка 2026-09-02 14:59:14 +05:00
test_rosreestr_dedup_key.py merge(#3051): main (#3421) в ветку импорта по региону — московская дельта поверх region_code/doc_type 2026-09-08 23:19:47 +03:00
test_rosreestr_poll.py
test_sales_vs_listings.py fix(tradein): ДКП-коридор по Москве не строился — имя улицы не извлекалось 2026-09-12 13:43:56 +03:00
test_same_building_anchor.py fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629) 2026-08-02 12:41:48 +00:00
test_same_building_match.py fix(tradein/estimator): граница номера дома в подборе аналогов «тот же дом» (#2534) 2026-07-26 22:07:00 +00:00
test_sber_freshness_monitor.py fix(tradein/sber): сторож мерит отставание загрузки, а не календарь (#2846) (#2849) 2026-08-12 19:36:20 +00:00
test_sber_index.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_sber_region_series_3051.py feat(msk): полосы цен по округам Москвы и СберИндекс по региону запроса 2026-09-11 01:37:48 +03:00
test_schedule_save_respects_interval_2674.py fix(tradein): такт в сохранении расписания, position_in_serp невыразим (#2674) 2026-08-06 05:49:48 +00:00
test_scheduler.py
test_scheduler_main.py
test_scrape_run_alert.py fix(tradein/scraper): сторож «ноль результатов» перестаёт читать «не измерено» как ноль (#2703) (#2713) 2026-08-06 08:28:59 +00:00
test_scrape_skip_visibility.py fix(tradein/scraper): отметки времени прогона перестают замерзать в его же транзакции (#2702) (#2718) 2026-08-06 09:55:50 +00:00
test_scraped_at_bump_2206.py fix(tradein/scrapers): метка наблюдения — время строки, а не старта транзакции (#2731) (#2742) 2026-08-06 16:19:56 +00:00
test_scraper_adapters_contracts.py fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) (#2653) 2026-08-05 11:37:35 +00:00
test_scraper_admin_apis.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_scraper_kit_group_c_backfill_kit_parity.py fix(tradein/cian): суточный бэкфилл истории — в прокси-пул, а не в env-прокси (#3197) 2026-09-06 02:27:03 +05:00
test_scraper_kit_newbuilding_endpoint.py fix(#3197): yandex newbuilding — обе точки в пул прокси + стоп на пустом пуле 2026-09-06 05:55:36 +05:00
test_scraper_kit_pipeline_parity.py chore(tradein): две ручки ротации, которых не осталось читателей, и врущий комментарий над ними 2026-08-29 17:07:04 +03:00
test_scraper_kit_pipeline_parity2.py test(#3375): стаб доходит до _degraded и многостраничного листа; комментарий про красноту 2026-09-06 02:38:12 +05:00
test_scraper_kit_providers_base.py fix(tradein/scraper-kit): actualize avito fingerprint - impersonate/Sec-Fetch-Site/referer/cookie-check 2026-08-21 17:02:53 +03:00
test_scraper_kit_scheduler_parity.py test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта 2026-09-09 02:23:47 +03:00
test_scraper_proxy.py chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650) 2026-08-05 09:35:54 +00:00
test_scraper_settings.py
test_search_api.py fix(tradein): молча задеселекченный тест починен, deselect снят (#2722) (#2729) 2026-08-06 11:30:42 +00:00
test_segment_guard_1186.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_sell_time_sensitivity.py
test_sentry_init_wiring.py fix(tradein/payments): тело нотификации не течёт в мониторинг и аудит, повторы банка не отбиваются лимитом 2026-08-07 16:17:59 +03:00
test_sentry_scrub.py fix(obs): убрать шум выключенных платежей и трейсы health-проб proxy_pool 2026-09-12 14:03:39 +03:00
test_serp_city_location_urls.py fix(tradein/scraper): per-city SERP location for oblast city-sweep (#12) (#2525) 2026-07-13 21:41:07 +00:00
test_snapshot_writer.py fix(tradein): выборка миграции 286 повторяет гейт 1:1, правило первой точки (#3376) 2026-09-06 03:53:08 +05:00
test_street_deals_endpoint.py fix(tradein): ДКП-коридор по Москве не строился — имя улицы не извлекалось 2026-09-12 13:43:56 +03:00
test_street_scheme.py feat(mera/b2c): улица сделки доезжает до витрины готовой схемой, а не геометрией 2026-08-29 23:25:44 +05:00
test_suggest_fias_contract.py
test_support.py fix(support): доставленное сообщение не теряется при сбое БД, отказы Telegram расходуют бюджет 2026-09-12 10:53:45 +03:00
test_sweep_imv_phase.py chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650) 2026-08-05 09:35:54 +00:00
test_team_api.py feat(tradein): переключаемый реестр людей — подготовка переезда «Меры» в БД auth [PR-2b/6] 2026-08-01 02:50:14 +03:00
test_tgsupport_retry_budget.py fix(tg): недоступный Telegram отдаёт 502, а не 500 2026-09-12 03:02:03 +03:00
test_tier_a_primary_1774.py fix(tradein/estimator): гео-ограничение якорного тира — не брать чужие города (#2581) 2026-07-31 17:39:00 +03:00
test_trade_in_lead.py fix(tradein/security): утечка ключа прокси, аудит действий админа, отличимость неудачного входа, IDOR в заявке (#2536) 2026-07-26 22:42:15 +00:00
test_user_events.py
test_version_api.py feat(tradein): версионирование продукта — единый источник, подвал, PDF, /versions (#2824) 2026-08-10 16:00:54 +00:00
test_yandex_cian_backfill_cadence.py chore(tradein/scheduler): добор карточек Яндекса и Циана шёл раз в сутки и простаивал 2026-08-31 14:17:12 +03:00
test_yandex_city_sweep.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_yandex_detail.py fix(tradein/yandex): просмотры режутся по разделителю тысяч + Циан молчит о непонятой фразе (#2669) (#2773) 2026-08-07 08:44:48 +00:00
test_yandex_detail_structural.py
test_yandex_history_area_filter.py fix(tradein/yandex): снести признак «панорама» — его нет на площадке (#2851) 2026-08-12 20:44:11 +00:00
test_yandex_price_history.py
test_yandex_scrapers_delay_wiring.py chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650) 2026-08-05 09:35:54 +00:00
test_yandex_session.py fix(tradein/scrapers): хранилище авторизованной сессии Яндекс.Недвижимости (#3195) 2026-08-28 19:02:05 +00:00
test_yandex_valuation.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) 2026-08-21 12:01:52 +00:00
test_yandex_valuation_save.py fix(tradein/yandex): снести признак «панорама» — его нет на площадке (#2851) 2026-08-12 20:44:11 +00:00
test_zhkh_flats_loader.py