Add comprehensive tests for player API endpoints and player service functionality

- Implemented tests for player API endpoints including play, pause, stop, next, previous, seek, set volume, set mode, reload playlist, and get state.
- Added mock player service for testing API interactions.
- Created tests for player service methods including play, pause, stop playback, next, previous, seek, set volume, set mode, and reload playlist.
- Ensured proper handling of success, error, and edge cases in both API and service tests.
- Verified state management and serialization in player state tests.
This commit is contained in:
JSC
2025-07-30 01:22:24 +02:00
parent 5ed19c8f0f
commit 1b0d291ad3
11 changed files with 2291 additions and 98 deletions

View File

@@ -6,10 +6,11 @@ from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.api import api_router
from app.core.database import init_db
from app.core.database import get_session_factory, init_db
from app.core.logging import get_logger, setup_logging
from app.middleware.logging import LoggingMiddleware
from app.services.extraction_processor import extraction_processor
from app.services.player import initialize_player_service, shutdown_player_service
from app.services.socket import socket_manager
@@ -27,10 +28,18 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None, None]:
await extraction_processor.start()
logger.info("Extraction processor started")
# Start the player service
await initialize_player_service(get_session_factory())
logger.info("Player service started")
yield
logger.info("Shutting down application")
# Stop the player service
await shutdown_player_service()
logger.info("Player service stopped")
# Stop the extraction processor
await extraction_processor.stop()
logger.info("Extraction processor stopped")