Spaces:
Running
Running
| import asyncio | |
| import pytest | |
| from app.main import _qdrant_keepalive_loop | |
| class _FakeQdrant: | |
| def __init__(self) -> None: | |
| self.calls = 0 | |
| def get_collections(self) -> None: | |
| self.calls += 1 | |
| async def test_keepalive_loop_pings_qdrant() -> None: | |
| qdrant = _FakeQdrant() | |
| stop_event = asyncio.Event() | |
| task = asyncio.create_task( | |
| _qdrant_keepalive_loop(qdrant=qdrant, interval_seconds=1, stop_event=stop_event) | |
| ) | |
| await asyncio.sleep(1.2) | |
| stop_event.set() | |
| await asyncio.wait_for(task, timeout=1) | |
| assert qdrant.calls >= 1 | |
| async def test_keepalive_loop_disabled_when_interval_non_positive() -> None: | |
| qdrant = _FakeQdrant() | |
| stop_event = asyncio.Event() | |
| await _qdrant_keepalive_loop(qdrant=qdrant, interval_seconds=0, stop_event=stop_event) | |
| assert qdrant.calls == 0 | |