|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 11s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI / changes (pull_request) Successful in 11s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 1m56s
Group E1 of the scraper_kit migration epic (#2277 -> #2308 -> #2334): prepares the kit side of app/services/scrapers/avito_imv.py -> scraper_kit.providers.avito.imv WITHOUT switching any real call site (estimator.py is #2337, a separate final step; house_imv_backfill.py is deliberately deferred too, see report). - Golden-parity: full evaluate_via_imv() async flow (geocode A/B + evaluate C) proven byte-identical between legacy and kit on REAL live-captured Avito API responses (tests/fixtures/avito_imv_geo_position.json + avito_imv_getdata.json), routed through the browser_fetcher transport to stay offline/deterministic. Previously this function had zero parity coverage (only _parse_price was covered, via admin.py Group A). Added cheap pure-function parity for compute_imv_cache_key/_parse_geo_position/ _parse_placement_history/_parse_suggestions too. - Config-footgun regression: kit evaluate_via_imv only reads config.scraper_proxy_url when config= is explicitly passed; called bare it silently builds a proxy-less curl_cffi session even with a real proxy configured. Two tests lock this down (without config= -> proxies=None, with config=RealScraperConfig() -> proxies wired) — manually verified by breaking scraper_kit/providers/avito/imv.py's config threading, watching the "with config" test fail on the exact proxies assertion, then reverting. No production import switched in this commit — see PR/issue report for the full caller audit and the house_imv_backfill.py deferral rationale. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_admin_avito_kit_parity.py | ||
| test_admin_cian_kit_parity.py | ||
| test_admin_domclick_ingest_kit_parity.py | ||
| test_admin_yandex_kit_parity.py | ||
| test_avito_403_backconnect_reconnect.py | ||
| test_avito_429_bucket_skip.py | ||
| test_avito_anti_bot.py | ||
| test_avito_detail_403_reconnect.py | ||
| test_avito_detail_429_reconnect.py | ||
| test_avito_detail_browser_only.py | ||
| test_avito_detail_kit_parity.py | ||
| test_avito_detail_not_found.py | ||
| test_avito_detail_soft_block.py | ||
| test_avito_detail_warmup.py | ||
| test_avito_exhaustive.py | ||
| test_avito_imv_browser_transport.py | ||
| test_avito_imv_kit_parity.py | ||
| test_avito_incremental_pagination.py | ||
| test_avito_sweep_retry.py | ||
| test_avito_unix_date_tz_consistency.py | ||
| test_browser_fetcher.py | ||
| test_cian_exhaustive.py | ||
| test_domclick.py | ||
| test_domclick_detail.py | ||
| test_domclick_detail_kit_parity.py | ||
| test_ekb_geoportal_client_kit_parity.py | ||
| test_price_brackets.py | ||