gendesign/tradein-mvp/backend/tests/test_yandex_scrapers_delay_wiring.py
bot-backend 59c072fc4c
All checks were successful
Deploy Trade-In / changes (push) Successful in 10s
Deploy Trade-In / build-frontend (push) Successful in 2m13s
Deploy Trade-In / test (push) Successful in 2m45s
Deploy Trade-In / build-browser (push) Successful in 3m2s
Deploy Trade-In / build-backend (push) Successful in 1m38s
Deploy Trade-In / deploy (push) Successful in 2m29s
chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650)
2026-08-05 09:35:54 +00:00

46 lines
2.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""Smoke: each Yandex scraper instance reads request_delay_sec from scraper_settings.
Легаси `app.services.scrapers.yandex_detail` / `yandex_valuation` удалены (#2277
финальный шаг scraper_kit-миграции). `yandex_realty` удалён (#2397 Part E2, 0
runtime-импортёров) — его delay-wiring тест убран (kit `YandexRealtyScraper`
delay-provider wiring покрыт `test_kit_serp_proxy_pool.py`). `yandex_newbuilding`
удалён (#2397 финальный шаг E) — переведён на kit-эквивалент, который тоже
использует инжектируемый `delay_provider=` (strangler DI, #2133) вместо прямого
импорта `get_scraper_delay`.
`yandex_detail`/`yandex_valuation` переведены на kit-эквиваленты, которые используют
инжектируемый `delay_provider=` (strangler DI, #2133) вместо прямого импорта
`get_scraper_delay` — тест адаптирован под реальный контракт kit-класса.
"""
from types import SimpleNamespace
from scraper_kit.providers.yandex.detail import YandexDetailScraper
from scraper_kit.providers.yandex.newbuilding import YandexNewbuildingScraper
from scraper_kit.providers.yandex.valuation import YandexValuationScraper
_KIT_CONFIG = SimpleNamespace(
scraper_proxy_url=None,
)
def test_yandex_detail_picks_up_delay():
"""Kit YandexDetailScraper: delay_provider callable вызывается с self.name."""
s = YandexDetailScraper(delay_provider=lambda _name: 9.5)
assert s.request_delay_sec == 9.5
def test_yandex_newbuilding_picks_up_delay():
"""Kit YandexNewbuildingScraper: delay_provider callable вызывается с self.name."""
s = YandexNewbuildingScraper(delay_provider=lambda _name: 9.5)
assert s.request_delay_sec == 9.5
def test_yandex_valuation_picks_up_delay():
"""Kit YandexValuationScraper: delay_provider callable вызывается с self.name.
Mandatory-config footgun и полное покрытие delay_provider wiring уже проверены
в tests/scrapers/test_yandex_valuation_kit_migration.py — здесь просто smoke,
зеркалящий остальные Yandex-скрапперы в этом файле.
"""
s = YandexValuationScraper(config=_KIT_CONFIG, delay_provider=lambda _name: 9.5)
assert s.request_delay_sec == 9.5