[tradein] kit standalone unit-покрытие после удаления legacy golden-parity (final E #2419) + чистка orphaned fixtures #2422

Open
opened 2026-07-04 13:12:51 +00:00 by lekss361 · 0 comments
Owner

Follow-up из final E (#2419, umbrella #2397). Удаление всего legacy app/services/scrapers/ каталога сняло legacy-эталон у golden-parity тестов — они удалены (parity un-keepable). Kit-код НЕ менялся (strangler-копии byte-identical, доказано #2133/#2306/#1665), риск forward-looking: будущие правки kit-парсеров/скраперов не ловятся offline.

Удалённые golden-parity (потеряли legacy-оракул)

  • tests/test_scraper_kit_avito_golden_parity.py (incl. kit-only guard test_kit_avito_has_no_app_imports — см. ниже)
  • tests/test_scraper_kit_base_golden_parity.py
  • tests/test_scraper_kit_bisection_parity.py
  • tests/test_scraper_kit_cian_golden_parity.py
  • tests/test_scraper_kit_yandex_golden_parity.py
  • tests/test_scraper_kit_pricehistory_session_parity.py
  • tests/scrapers/test_avito_detail_kit_parity.py
  • tests/scrapers/test_admin_domclick_ingest_kit_parity.py
  • tests/test_scraper_kit_group_c_backfill_kit_parity.py::test_avito_fetch_detail_via_browser_fetcher_parity (единичный кейс, файл сохранён)

Задачи

  1. Standalone kit unit-тесты (HTML/JSON-фикстура → распарсенный lot/state, без legacy-эталона, прямые assert'ы) для kit-парсеров: scraper_kit.providers.{avito.serp, avito.detail, avito.houses.parse_houses_state (#1789 rating), cian.serp, cian.detail, yandex.serp, domclick.*, base}.
  2. Общий guard «нет app.* импортов в kit-providers» — восстановить инвариант, потерянный вместе с test_kit_avito_has_no_app_imports (deep-review #2419 🟢): один тест, обходящий scraper_kit.providers.** и ассертящий отсутствие from app/import app. Инвариант сейчас держится (grep пусто), но незакрыт тестом.
  3. Чистка orphaned fixtures (0 ссылок, pre-existing от E1/E2): tests/fixtures/{avito_house_572538.html, avito_houses_sample.html, avito_novostroyka_12879380.html, cian_flat_330982715.html, domclick_bff_offers_sample.json} — либо удалить, либо переиспользовать как input для новых kit-тестов из п.1.

Дополняет #2408 (та же категория, SERP/houses парсеры). Scope: M (test-only). Не блокер. Refs #2397, #2419, #2408, #1789.

Follow-up из final E (#2419, umbrella #2397). Удаление всего legacy `app/services/scrapers/` каталога сняло legacy-эталон у golden-parity тестов — они удалены (parity un-keepable). Kit-код НЕ менялся (strangler-копии byte-identical, доказано #2133/#2306/#1665), риск forward-looking: будущие правки kit-парсеров/скраперов не ловятся offline. ## Удалённые golden-parity (потеряли legacy-оракул) - `tests/test_scraper_kit_avito_golden_parity.py` (incl. **kit-only guard `test_kit_avito_has_no_app_imports`** — см. ниже) - `tests/test_scraper_kit_base_golden_parity.py` - `tests/test_scraper_kit_bisection_parity.py` - `tests/test_scraper_kit_cian_golden_parity.py` - `tests/test_scraper_kit_yandex_golden_parity.py` - `tests/test_scraper_kit_pricehistory_session_parity.py` - `tests/scrapers/test_avito_detail_kit_parity.py` - `tests/scrapers/test_admin_domclick_ingest_kit_parity.py` - `tests/test_scraper_kit_group_c_backfill_kit_parity.py::test_avito_fetch_detail_via_browser_fetcher_parity` (единичный кейс, файл сохранён) ## Задачи 1. **Standalone kit unit-тесты** (HTML/JSON-фикстура → распарсенный lot/state, без legacy-эталона, прямые assert'ы) для kit-парсеров: `scraper_kit.providers.{avito.serp, avito.detail, avito.houses.parse_houses_state (#1789 rating), cian.serp, cian.detail, yandex.serp, domclick.*, base}`. 2. **Общий guard «нет `app.*` импортов в kit-providers»** — восстановить инвариант, потерянный вместе с `test_kit_avito_has_no_app_imports` (deep-review #2419 🟢): один тест, обходящий `scraper_kit.providers.**` и ассертящий отсутствие `from app`/`import app`. Инвариант сейчас держится (grep пусто), но незакрыт тестом. 3. **Чистка orphaned fixtures** (0 ссылок, pre-existing от E1/E2): `tests/fixtures/{avito_house_572538.html, avito_houses_sample.html, avito_novostroyka_12879380.html, cian_flat_330982715.html, domclick_bff_offers_sample.json}` — либо удалить, либо переиспользовать как input для новых kit-тестов из п.1. Дополняет #2408 (та же категория, SERP/houses парсеры). Scope: M (test-only). Не блокер. Refs #2397, #2419, #2408, #1789.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2422
No description provided.