From 8cf31aba04b5d673bc529196e5314244d5b0579f Mon Sep 17 00:00:00 2001 From: bot-backend Date: Mon, 31 Aug 2026 14:58:11 +0300 Subject: [PATCH] =?UTF-8?q?test(tradein/avito):=20=D0=B4=D0=B5=D1=84=D0=BE?= =?UTF-8?q?=D0=BB=D1=82=20=D0=BF=D0=BE=D1=80=D0=BE=D0=B3=D0=B0=20=D1=80?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B2=20=5Ffake=5Fsetti?= =?UTF-8?q?ngs=20warm-context=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI поймал то, что не поймал локальный прогон tests/tasks: восемь тестов в tests/test_3251_avito_warm_context.py держат собственную копию _fake_settings, без нового avito_detail_backfill_rotate_after_attempts. Bare MagicMock отдаёт на него дочерний мок, и сравнение attempts_since_rotation >= settings.... падает TypeError: '>=' not supported between 'int' and 'MagicMock'. Ловушка в проекте известна — в этом же словаре уже лежат явные дефолты detail_backfill_block_ratio_window/_threshold ровно по той же причине. Добавлен реальный дефолт из config.py и комментарий, почему он тут нужен. --- tradein-mvp/backend/tests/test_3251_avito_warm_context.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tradein-mvp/backend/tests/test_3251_avito_warm_context.py b/tradein-mvp/backend/tests/test_3251_avito_warm_context.py index 04860e5e..1f3d0769 100644 --- a/tradein-mvp/backend/tests/test_3251_avito_warm_context.py +++ b/tradein-mvp/backend/tests/test_3251_avito_warm_context.py @@ -67,6 +67,12 @@ def _fake_settings(**overrides: object) -> MagicMock: "detail_backfill_block_ratio_window": 20, "detail_backfill_block_ratio_threshold": 0.7, "browser_http_endpoint": "http://browser:9000", + # Реальный дефолт (config.py). Без него bare MagicMock отдаёт + # child-MagicMock на сравнение `attempts_since_rotation >= settings.avito_ + # detail_backfill_rotate_after_attempts` в browser-режиме, и тест падает + # TypeError: '>=' not supported between 'int' and 'MagicMock'. Та же + # ловушка, что уже описана здесь для detail_backfill_block_ratio_window. + "avito_detail_backfill_rotate_after_attempts": 15, } defaults.update(overrides) return MagicMock(**defaults)