|
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. |
||
|---|---|---|
| .. | ||
| app | ||
| data/sql | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| Dockerfile | ||
| pyproject.toml | ||