"""Unit tests for file manager.""" import tempfile from pathlib import Path from unittest.mock import patch import pytest from app.services import file_manager @pytest.fixture def temp_data_dir(): """Create temporary data directory.""" with tempfile.TemporaryDirectory() as tmpdir: yield Path(tmpdir) class TestFileManager: def test_create_request_dir(self, temp_data_dir): """Test request directory creation.""" with patch('app.services.file_manager.settings.upload_dir', str(temp_data_dir)): req_dir = file_manager.create_request_dir() assert Path(req_dir).exists() assert Path(req_dir).parent == temp_data_dir def test_directory_size(self, temp_data_dir): """Test directory size calculation.""" test_file = temp_data_dir / 'test.txt' test_file.write_text('x' * 1024) # 1KB size_mb = file_manager.get_directory_size_mb(str(temp_data_dir)) assert size_mb > 0 def test_cleanup_old_jobs(self, temp_data_dir): """Test old jobs cleanup.""" with patch('app.services.file_manager.settings.jobs_dir', str(temp_data_dir)): # Create old directory old_job = temp_data_dir / 'old-job' old_job.mkdir() (old_job / 'file.txt').write_text('test') # Should be cleaned up with hours=0 cleaned = file_manager.cleanup_old_jobs(hours=0) assert cleaned >= 1