test(tradein/avito): тест закреплял отсутствие проводки пула
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / changes (pull_request) Successful in 9s
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 4m46s
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / changes (pull_request) Successful in 9s
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 4m46s
`assert_called_once_with(source=..., endpoint=...)` требует, чтобы других аргументов у вызова НЕ БЫЛО. Тем самым тест закреплял ровно тот дефект, который чинит этот PR: браузерный фетчер обязан был строиться без проводки пула, иначе CI краснел. Заменено на проверку вхождения: source и endpoint по-прежнему сверяются, плюс явно требуется наличие proxy_provider/use_pool/environment — то, без чего прогон уходит мимо пула (proxy_lease_id=None, 5 блоков из 5 при здоровом пуле). Прогон: 277 тестов зелёные, ruff чист.
This commit is contained in:
parent
d66a52d492
commit
c1918b404d
1 changed files with 17 additions and 4 deletions
|
|
@ -777,10 +777,23 @@ async def test_backfill_use_curl_false_creates_browser_fetcher() -> None:
|
||||||
)
|
)
|
||||||
|
|
||||||
# BrowserFetcher должен быть создан (source="avito", endpoint из settings — #2310
|
# BrowserFetcher должен быть создан (source="avito", endpoint из settings — #2310
|
||||||
# kit BrowserFetcher требует endpoint= обязательным keyword-only параметром)
|
# kit BrowserFetcher требует endpoint= обязательным keyword-only параметром).
|
||||||
mock_bf_cls.assert_called_once_with(
|
#
|
||||||
source="avito", endpoint=fake_settings.browser_http_endpoint
|
# Проверяем ВХОЖДЕНИЕ аргументов, а не полное равенство вызова. Прежняя
|
||||||
)
|
# форма `assert_called_once_with(source=..., endpoint=...)` требовала, чтобы
|
||||||
|
# других аргументов НЕ БЫЛО, и тем самым закрепляла дефект: именно
|
||||||
|
# отсутствие проводки пула (#3045) уводило браузерный прогон мимо прокси —
|
||||||
|
# 5 блоков из 5 попыток при полностью здоровом пуле. Проводка проверяется
|
||||||
|
# отдельно ниже.
|
||||||
|
mock_bf_cls.assert_called_once()
|
||||||
|
_bf_kwargs = mock_bf_cls.call_args.kwargs
|
||||||
|
assert _bf_kwargs["source"] == "avito"
|
||||||
|
assert _bf_kwargs["endpoint"] == fake_settings.browser_http_endpoint
|
||||||
|
# #3045: без этих трёх фетчер не кладёт "proxy" в тело POST /fetch, и
|
||||||
|
# сайдкар уходит на свой env-прокси мимо пула (proxy_lease_id=None).
|
||||||
|
assert _bf_kwargs.get("proxy_provider") is not None, "пул не подключён"
|
||||||
|
assert "use_pool" in _bf_kwargs, "флаг пула не доезжает до фетчера"
|
||||||
|
assert "environment" in _bf_kwargs, "без него отказ «пул пуст» мёртв (#2616)"
|
||||||
# fetch_detail вызван с browser_fetcher установленным (не None)
|
# fetch_detail вызван с browser_fetcher установленным (не None)
|
||||||
assert mock_fetch.call_count == 1
|
assert mock_fetch.call_count == 1
|
||||||
_, kwargs = mock_fetch.call_args
|
_, kwargs = mock_fetch.call_args
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue