Стабилизировать mock-assertions ML-ноды в тестах event listener
Оригинал: Stabilize ML node mock assertions in event listener tests

Резюме
- исправить ненадежный сбой теста оболочки API, из-за которого MockClient.WithTryLock немедленно завершался сбоем из-за конфликта временных блокировок.
- сериализовать тестовые утверждения с помощью асинхронных фиктивных клиентских вызовов вместо того, чтобы рассматривать фонового работника в полете как провал теста.
Ссылка на ошибку Tes: https://github.com/gonka-ai/gonka/actions/runs/31797682156/job/94758260624?pr=1594
Основная причина
TestRegularPocScenario может участвовать в гонках с nodeStatusQueryWorker: рабочий может удерживать мьютекс фиктивного клиента, пока тест считывает счетчики вызовов. Предыдущий помощник TryLock сразу же завершился сбоем, поскольку TryLock был вызван более одного раза, хотя это ожидаемо в асинхронных тестах.
Проверка
- попыталась пройти тестирование ./internal/event_listener -run TestRegularPocScenario -count=5 -v локально; локальный запуск Docker завершился неудачно перед выполнением теста на github.com/supranational/blst ( undefined: Message ), что, по-видимому, зависит от локальной цепочки инструментов/архи, а не от этого изменения.

Summary
fix a flaky API wrapper test failure where MockClient.WithTryLock failed immediately on transient lock contention
- serialize test assertions with async mock client calls instead of treating an in-flight background worker as a test failure
Tes failure link: https://github.com/gonka-ai/gonka/actions/runs/31797682156/job/94758260624?pr=1594
Root cause
TestRegularPocScenario can race with nodeStatusQueryWorker : the worker may hold the mock client mutex while the test reads call counters. The previous TryLock helper failed immediately with TryLock called more than once , even though this is expected transient contention in async tests.
Verification
- attempted go test ./internal/event_listener -run TestRegularPocScenario -count=5 -v locally; local Docker runner failed before test execution on github.com/supranational/blst ( undefined: Message ), which appears to be local toolchain/arch-specific and not this change.
Резюме
Ссылка на ошибку Tes: https://github.com/gonka-ai/gonka/actions/runs/31797682156/job/94758260624?pr=1594
Основная причина
TestRegularPocScenario может участвовать в гонках с nodeStatusQueryWorker: рабочий может удерживать мьютекс фиктивного клиента, пока тест считывает счетчики вызовов. Предыдущий помощник TryLock сразу же завершился сбоем, поскольку TryLock был вызван более одного раза, хотя это ожидаемо в асинхронных тестах.
Проверка