20 lines
625 B
Python
20 lines
625 B
Python
import asyncio
|
|
import pytest
|
|
from unittest.mock import AsyncMock, MagicMock, patch
|
|
from hydra.resilience.graceful import GracefulManager
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_shutdown_saves_state():
|
|
order_queue = MagicMock()
|
|
order_queue.block_new_orders = MagicMock()
|
|
position_tracker = AsyncMock()
|
|
position_tracker.snapshot.return_value = {"positions": []}
|
|
redis_client = MagicMock()
|
|
|
|
manager = GracefulManager(order_queue, position_tracker, redis_client)
|
|
await manager.shutdown("SIGTERM")
|
|
|
|
order_queue.block_new_orders.assert_called_once()
|
|
position_tracker.snapshot.assert_called_once()
|