refactor: improve code formatting and readability in test files
CI / lint-test-build (push) Failing after 1m13s
CI / lint-test-build (push) Failing after 1m13s
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user