"""Smoke: each Yandex scraper instance reads request_delay_sec from scraper_settings. Легаси `app.services.scrapers.yandex_detail` / `yandex_valuation` удалены (#2277 финальный шаг scraper_kit-миграции). `yandex_realty` / `yandex_newbuilding` пока остаются легаси (не мигрированы) — их delay-wiring тесты не тронуты. `yandex_detail`/`yandex_valuation` переведены на kit-эквиваленты, которые используют инжектируемый `delay_provider=` (strangler DI, #2133) вместо прямого импорта `get_scraper_delay` — тест адаптирован под реальный контракт kit-класса. """ from types import SimpleNamespace from unittest.mock import patch from scraper_kit.providers.yandex.detail import YandexDetailScraper from scraper_kit.providers.yandex.valuation import YandexValuationScraper from app.services.scrapers.yandex_newbuilding import YandexNewbuildingScraper from app.services.scrapers.yandex_realty import YandexRealtyScraper _KIT_CONFIG = SimpleNamespace( scraper_proxy_url=None, yandex_proxy_rotate_url=None, avito_proxy_rotate_url=None, ) def test_yandex_realty_picks_up_delay(): with patch("app.services.scrapers.yandex_realty.get_scraper_delay", return_value=9.5): s = YandexRealtyScraper() assert s.request_delay_sec == 9.5 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(): with patch("app.services.scrapers.yandex_newbuilding.get_scraper_delay", return_value=9.5): s = YandexNewbuildingScraper() 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