fix(tests): объявить два живых теста #3063 в skip_allowlist
All checks were successful
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 9s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m29s

Main красный: `Deploy Trade-In / test` падает, хотя pytest прошёл
(4732 passed, 34 skipped). Валит его гард из tests/conftest.py:

  НЕУЧТЁННЫЙ ПРОПУСК (2): проверка не исполнилась и не объявлена
  в skip_allowlist.txt

Гард сработал ровно как задуман — «пропуск без записи неотличим от
пройденной проверки» (#2722/#2729/#2740). Два поведенческих теста из
#3067 требуют живую Postgres: в ci-tradein.yml есть postgres-сервис и
они реально исполняются (там PR и был зелёным), а в deploy-tradein.yml
БД нет вовсе — отсюда зелёный PR и красный main.

Из-за этого три скрапперных правки (#3065, #3067, #3068) собрались, но
НЕ выкатились — деплой встал на тест-гейте.

Запись объясняет, почему проверку нельзя выполнить в deploy-лэйне и где
она выполняется вместо этого, как требует шапка файла. Статическая
половина того же файла (гард COALESCE + гард паритета кортежей) БД не
требует и идёт на обоих лэйнах — то есть без записи остаётся не дыра, а
только поведенческая проверка.

Проверено локально фальсификацией: со старым allowlist гард печатает
«НЕУЧТЁННЫЙ ПРОПУСК (2)», с новым молчит; тесты в обоих случаях
7 passed, 2 skipped.

Refs #3063, #3067
This commit is contained in:
bot-backend 2026-08-24 01:07:26 +03:00
parent 60cb510ef2
commit db3b58ee3e

View file

@ -118,3 +118,14 @@ tests/test_3036_detail_house_params_to_houses.py::test_live_fill_only_then_keep_
tests/test_revisit_floor_lateral_lookup.py::test_lateral_ignores_gaps_and_matches_dense_daily_history
tests/test_revisit_floor_lateral_lookup.py::test_equality_join_loses_gapped_pairs_and_gives_a_smaller_floor
tests/test_revisit_floor_lateral_lookup.py::test_missing_history_before_anchor_still_yields_no_floor_via_lateral
# Эрозия признаков продавца (#3063, PR #3067) — тот же `_live_session()`.
# Проверяют ПОВЕДЕНИЕ апсерта на живой схеме: что бедный re-scrape не обнуляет
# is_homeowner/is_pro_seller/phones/sale_type (COALESCE держит), и обратное — что
# настоящая смена признака всё ещё перезаписывает (COALESCE не сделал поля
# write-once). SQL-текст проверяется отдельно статической половиной того же файла
# (test_field_is_coalesce_protected_in_set + test_unchanged_gate_mirrors_the_set_clause),
# она идёт на ОБОИХ лэйнах. В ci-tradein.yml эти два бегут по-настоящему
# (postgres-сервис) — там прогон и был зелёным; в deploy-tradein.yml БД нет вовсе.
tests/test_3063_seller_fields_not_eroded.py::test_poor_rescrape_does_not_erase_seller_fields
tests/test_3063_seller_fields_not_eroded.py::test_real_change_still_overwrites