Fix integration test failures
- Fix test_data_file_db_sync.py: Remove unused mock logger parameters - Fix test_nfo_workflow.py: Add missing async mocks for TMDB methods * Add get_tv_show_content_ratings mock for FSK rating support * Add get_image_url mock to return proper URL strings * Fix test_nfo_update_workflow to include TMDB ID in existing NFO - Fix DownloadService method calls in test fixtures * Change stop() to stop_downloads() (correct method name) * Change start() to start_queue_processing() * Add exception handling for ProgressServiceError in teardown - All 1380 tests now passing with 0 failures and 0 errors
This commit is contained in:
@@ -119,15 +119,12 @@ class TestSyncSeriesToDatabase:
|
||||
from src.server.services.anime_service import sync_series_from_data_files
|
||||
|
||||
with tempfile.TemporaryDirectory() as tmp_dir:
|
||||
mock_logger = Mock()
|
||||
|
||||
with patch('src.core.SeriesApp.Loaders'), \
|
||||
patch('src.core.SeriesApp.SerieScanner'):
|
||||
count = await sync_series_from_data_files(tmp_dir, mock_logger)
|
||||
count = await sync_series_from_data_files(tmp_dir)
|
||||
|
||||
assert count == 0
|
||||
# Should log that no series were found
|
||||
mock_logger.info.assert_called()
|
||||
# Function should complete successfully with no series
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_sync_adds_new_series_to_database(self):
|
||||
@@ -149,8 +146,6 @@ class TestSyncSeriesToDatabase:
|
||||
episodes={1: [1, 2]}
|
||||
)
|
||||
|
||||
mock_logger = Mock()
|
||||
|
||||
# First verify that we can load the series from files
|
||||
with patch('src.core.SeriesApp.Loaders'), \
|
||||
patch('src.core.SeriesApp.SerieScanner'):
|
||||
@@ -165,20 +160,18 @@ class TestSyncSeriesToDatabase:
|
||||
patch('src.core.SeriesApp.SerieScanner'):
|
||||
# The function should return 0 because DB isn't available
|
||||
# but should not crash
|
||||
count = await sync_series_from_data_files(tmp_dir, mock_logger)
|
||||
count = await sync_series_from_data_files(tmp_dir)
|
||||
|
||||
# Since no real DB, it will fail gracefully
|
||||
# Function returns 0 when DB operations fail
|
||||
assert isinstance(count, int)
|
||||
# Should have logged something
|
||||
assert mock_logger.info.called or mock_logger.warning.called
|
||||
assert count == 0
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_sync_handles_exceptions_gracefully(self):
|
||||
"""Test that sync handles exceptions without crashing."""
|
||||
from src.server.services.anime_service import sync_series_from_data_files
|
||||
|
||||
mock_logger = Mock()
|
||||
|
||||
# Make SeriesApp raise an exception during initialization
|
||||
with patch('src.core.SeriesApp.Loaders'), \
|
||||
patch('src.core.SeriesApp.SerieScanner'), \
|
||||
@@ -186,13 +179,10 @@ class TestSyncSeriesToDatabase:
|
||||
'src.core.SeriesApp.SerieList',
|
||||
side_effect=Exception("Test error")
|
||||
):
|
||||
count = await sync_series_from_data_files(
|
||||
"/fake/path", mock_logger
|
||||
)
|
||||
count = await sync_series_from_data_files("/fake/path")
|
||||
|
||||
assert count == 0
|
||||
# Should log the warning
|
||||
mock_logger.warning.assert_called()
|
||||
# Function should complete without crashing
|
||||
|
||||
|
||||
class TestEndToEndSync:
|
||||
|
||||
Reference in New Issue
Block a user