From 2f0cbada34ca0bdfa8ebea62151625bdd4a20e9c Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Wed, 13 May 2026 14:45:26 +0200 Subject: [PATCH] API: corriger flush() et isolation test compteur (#78) --- src/api/tracking.py | 14 +++----------- tests/api/test_tracking.py | 1 + 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/api/tracking.py b/src/api/tracking.py index c952d6b..0762e1b 100644 --- a/src/api/tracking.py +++ b/src/api/tracking.py @@ -104,15 +104,7 @@ def enqueue_counter_update(token_id: int) -> None: def flush(timeout: float = 2.0) -> None: """Attend que la queue soit drainée. Utile en test.""" - if _queue is None: + q = _queue + if q is None: return - # Use a sentinel approach to properly honour the timeout - done_event = threading.Event() - - def _wait(): - _queue.join() - done_event.set() - - t = threading.Thread(target=_wait, daemon=True) - t.start() - done_event.wait(timeout=timeout) + q.join() diff --git a/tests/api/test_tracking.py b/tests/api/test_tracking.py index 44d9f54..36e57a6 100644 --- a/tests/api/test_tracking.py +++ b/tests/api/test_tracking.py @@ -4,6 +4,7 @@ from src.api import tokens_db, tracking def test_counter_worker_increments_count(temp_db): _, token_id = tokens_db.create_token(temp_db, "x") + tracking.stop_worker() # reset any worker left by earlier tests tracking.start_worker(str(temp_db)) try: tracking.enqueue_counter_update(token_id)