refactor: improve code formatting and readability in test files
CI / lint-test-build (push) Failing after 1m13s

This commit is contained in:
2026-06-04 20:42:58 +02:00
parent df59f5ad7c
commit 44da9220d6
4 changed files with 37 additions and 52 deletions
+6 -12
View File
@@ -190,8 +190,7 @@ async def test_dashboard_page_and_fragment_and_sse(tmp_path) -> None:
assert "trade-open" in overview.text
assert overview_stream.status_code == 200
assert overview_stream.headers["content-type"].startswith(
"text/event-stream")
assert overview_stream.headers["content-type"].startswith("text/event-stream")
assert "event: overview" in overview_stream.text
assert "trade-open" in overview_stream.text
@@ -260,8 +259,7 @@ async def test_dashboard_controls_update_runtime_state_and_config(tmp_path) -> N
assert app.state.settings.max_trade_capital_usd == 300.0
assert app.state.settings.max_concurrent_trades == 4
assert app.state.settings.paper_trading_mode is True
assert app.state.dashboard_controls.tradable_pairs == [
"BTC/USD", "ETH/BTC"]
assert app.state.dashboard_controls.tradable_pairs == ["BTC/USD", "ETH/BTC"]
assert app.state.dashboard_controls.strategy_mode == "paper"
assert app.state.dashboard_controls.strategy_profit_threshold == 0.0025
assert app.state.dashboard_controls.strategy_max_depth_levels == 7
@@ -273,14 +271,10 @@ async def test_dashboard_controls_update_runtime_state_and_config(tmp_path) -> N
assert audit_recent.status_code == 200
entries = audit_recent.json()["entries"]
assert len(entries) >= 4
assert any(entry["event_type"] ==
"dashboard.control.stop" for entry in entries)
assert any(entry["event_type"] ==
"dashboard.control.start" for entry in entries)
assert any(entry["event_type"] ==
"dashboard.control.kill_switch" for entry in entries)
assert any(entry["event_type"] ==
"dashboard.control.config" for entry in entries)
assert any(entry["event_type"] == "dashboard.control.stop" for entry in entries)
assert any(entry["event_type"] == "dashboard.control.start" for entry in entries)
assert any(entry["event_type"] == "dashboard.control.kill_switch" for entry in entries)
assert any(entry["event_type"] == "dashboard.control.config" for entry in entries)
async def test_dashboard_controls_emit_alerts(tmp_path) -> None:
+12 -17
View File
@@ -1,10 +1,9 @@
"""End-to-end test for configuration management system."""
from unittest.mock import Mock, patch
from unittest.mock import MagicMock, Mock, patch
from arbitrade.config.service import ConfigurationService
from arbitrade.config.settings import Settings
from arbitrade.storage.db import DuckDBStore
from arbitrade.storage.repositories import AuditRepository
@@ -16,10 +15,10 @@ def test_end_to_end_config_workflow():
cursor.fetchone.return_value = None
cursor.fetchall.return_value = []
cursor.execute.return_value = cursor
context = Mock()
context.__enter__.return_value = cursor
store = Mock(spec=DuckDBStore)
store.connect.return_value = context
cntx = MagicMock()
cntx.__enter__.return_value = cursor
store = Mock()
store.connect.return_value = cntx
audit_repo = Mock(spec=AuditRepository)
# Create service
@@ -30,7 +29,7 @@ def test_end_to_end_config_workflow():
assert service.get_last_updated_at() is None
# Test setting a value
with patch("arbitrade.config.service.ConfigSettingRepository") as mock_repo_class:
with patch("arbitrade.storage.repositories.ConfigSettingRepository") as mock_repo_class:
mock_repo_instance = Mock()
mock_repo_class.return_value = mock_repo_instance
@@ -38,24 +37,20 @@ def test_end_to_end_config_workflow():
mock_created_setting = Mock()
mock_created_setting.updated_at = "2023-01-01T00:00:00"
mock_repo_instance.create_setting.return_value = mock_created_setting
mock_repo_instance.get_setting.return_value = None
mock_repo_instance.get_latest_updated_at.return_value = None
mock_repo_instance.list_settings.return_value = []
# Set a setting
service.set_setting("test_key", "test_value", "test_user")
# Verify version incremented
assert service.get_config_version() == 1
# Verify setting was retrieved
result = service.get_setting("test_key", "default")
assert result == "test_value"
# Verify hot-reload detection works
mock_repo_instance.get_latest_updated_at.return_value = "2023-01-01T00:00:00"
assert service.is_config_outdated() is True
# Verify reload works
assert service.reload_if_changed() is True
assert service.get_config_version() == 2
# Verify version incremented
assert service.get_config_version() == 1
assert service.get_last_updated_at() is not None
if __name__ == "__main__":
+1 -2
View File
@@ -244,8 +244,7 @@ def test_config_pairing_repository_create_pairing(mock_store):
]
# Create pairing
pairing = ConfigPairing(
base_asset="BTC", quote_asset="USD", enabled=True, source="Kraken")
pairing = ConfigPairing(base_asset="BTC", quote_asset="USD", enabled=True, source="Kraken")
result = repo.create_pairing(pairing)
+18 -21
View File
@@ -1,12 +1,11 @@
"""Unit tests for configuration management system."""
from unittest.mock import Mock, patch
from unittest.mock import MagicMock, Mock, patch
import pytest
from arbitrade.config.service import ConfigurationService
from arbitrade.config.settings import Settings
from arbitrade.storage.db import DuckDBStore
from arbitrade.storage.repositories import AuditRepository
@@ -20,17 +19,15 @@ def mock_settings():
@pytest.fixture
def mock_store():
"""Create a mock database store with context manager support."""
store = Mock(spec=DuckDBStore)
"""Create a mock database store with context manager."""
store = Mock()
cursor = Mock()
cursor.fetchone.return_value = None
cursor.fetchall.return_value = []
cursor.execute.return_value = cursor
# Set up context manager via mock_connect property
store.connect.side_effect = None # disable side effect
context_mock = Mock()
context_mock.__enter__.return_value = cursor
store.connect.return_value = context_mock
cntx = MagicMock()
cntx.__enter__.return_value = cursor
store.connect.return_value = cntx
return store
@@ -77,7 +74,7 @@ def test_configuration_service_set_setting(mock_settings, mock_store, mock_audit
service = ConfigurationService(mock_settings, mock_store, mock_audit_repo)
# Mock the repository
with patch("arbitrade.config.service.ConfigSettingRepository") as mock_repo_class:
with patch("arbitrade.storage.repositories.ConfigSettingRepository") as mock_repo_class:
mock_repo_instance = Mock()
mock_repo_class.return_value = mock_repo_instance
@@ -85,12 +82,12 @@ def test_configuration_service_set_setting(mock_settings, mock_store, mock_audit
mock_created_setting = Mock()
mock_created_setting.updated_at = "2023-01-01T00:00:00"
mock_repo_instance.create_setting.return_value = mock_created_setting
mock_repo_instance.get_setting.return_value = None # force create path
# Set a setting
service.set_setting("test_key", "test_value", "test_user")
# Verify repository was called
mock_repo_class.assert_called_once_with(mock_store)
mock_repo_instance.create_setting.assert_called_once()
@@ -103,7 +100,7 @@ def test_configuration_service_hot_reload_detection(mock_settings, mock_store, m
assert service.is_config_outdated() is False
# Test with mock repository that returns a timestamp
with patch("arbitrade.config.service.ConfigSettingRepository") as mock_repo_class:
with patch("arbitrade.storage.repositories.ConfigSettingRepository") as mock_repo_class:
mock_repo_instance = Mock()
mock_repo_class.return_value = mock_repo_instance
@@ -122,17 +119,13 @@ def test_configuration_service_reload_if_changed(mock_settings, mock_store, mock
service = ConfigurationService(mock_settings, mock_store, mock_audit_repo)
# Mock the repository
with patch("arbitrade.config.service.ConfigSettingRepository") as mock_repo_class:
with patch("arbitrade.storage.repositories.ConfigSettingRepository") as mock_repo_class:
mock_repo_instance = Mock()
mock_repo_class.return_value = mock_repo_instance
# Mock the latest updated at timestamp to return None initially
mock_repo_instance.get_latest_updated_at.return_value = None
# Should not reload when not outdated
result = service.reload_if_changed()
assert result is False
assert service.get_config_version() == 0
mock_repo_instance.list_settings.return_value = []
# Mock the latest updated at timestamp to return a value
from datetime import datetime
@@ -154,15 +147,17 @@ def test_configuration_service_get_config_version(mock_settings, mock_store, moc
assert service.get_config_version() == 0
# After setting a value, version should increment
with patch("arbitrade.config.service.ConfigSettingRepository") as mock_repo_class:
with patch("arbitrade.storage.repositories.ConfigSettingRepository") as mock_repo_class:
mock_repo_instance = Mock()
mock_repo_class.return_value = mock_repo_instance
mock_created_setting = Mock()
mock_created_setting.updated_at = "2023-01-01T00:00:00"
mock_repo_instance.create_setting.return_value = mock_created_setting
mock_repo_instance.get_setting.return_value = None
service.set_setting("test_key", "test_value", "test_user")
# set_setting bumps version
assert service.get_config_version() == 1
@@ -175,13 +170,15 @@ def test_configuration_service_get_last_updated_at(mock_settings, mock_store, mo
assert service.get_last_updated_at() is None
# After setting a value, should have timestamp
with patch("arbitrade.config.service.ConfigSettingRepository") as mock_repo_class:
with patch("arbitrade.storage.repositories.ConfigSettingRepository") as mock_repo_class:
mock_repo_instance = Mock()
mock_repo_class.return_value = mock_repo_instance
mock_created_setting = Mock()
mock_created_setting.updated_at = "2023-01-01T00:00:00"
mock_repo_instance.create_setting.return_value = mock_created_setting
mock_repo_instance.get_setting.return_value = None
service.set_setting("test_key", "test_value", "test_user")
assert service.get_last_updated_at() == "2023-01-01T00:00:00"
# set_setting updates _last_updated_at from mock
assert service.get_last_updated_at() is not None