"""Mock media service for testing."""

from typing import Dict, Any, Optional
from unittest.mock import MagicMock

from ..protocols import MediaServiceProtocol


def create_mock_media_service() -> MediaServiceProtocol:
    """Create a mock media service for testing."""
    mock_service = MagicMock(spec=MediaServiceProtocol)
    
    # Mock methods
    mock_service.download_media.return_value = {"status": "downloaded", "path": "/tmp/test.wav"}
    mock_service.preprocess_media.return_value = {"status": "preprocessed", "path": "/tmp/test_processed.wav"}
    mock_service.validate_media.return_value = {"status": "valid", "duration": 30.0}
    mock_service.get_media_info.return_value = {"format": "wav", "duration": 30.0, "size": 1024000}
    
    return mock_service
