- Add comprehensive REST API for download queue management
- Implement GET /api/queue/status endpoint with queue status and statistics
- Implement POST /api/queue/add for adding episodes to queue with priority support
- Implement DELETE /api/queue/{id} and DELETE /api/queue/ for removing items
- Implement POST /api/queue/start and /api/queue/stop for queue control
- Implement POST /api/queue/pause and /api/queue/resume for pause/resume
- Implement POST /api/queue/reorder for queue item reordering
- Implement DELETE /api/queue/completed for clearing completed items
- Implement POST /api/queue/retry for retrying failed downloads
- Add get_download_service and get_anime_service dependencies
- Register download router in FastAPI application
- Add comprehensive test suite for all endpoints
- All endpoints require JWT authentication
- Update infrastructure documentation
- Remove completed task from instructions.md
Follows REST conventions with proper error handling and status codes.
Tests cover success cases, error conditions, and authentication requirements.
- Add comprehensive download queue models in src/server/models/download.py
- DownloadStatus and DownloadPriority enums for type safety
- EpisodeIdentifier for episode references
- DownloadProgress for real-time progress tracking
- DownloadItem for queue item representation with timestamps and error handling
- QueueStatus for overall queue state management
- QueueStats for aggregated queue statistics
- DownloadRequest/DownloadResponse for API contracts
- QueueOperationRequest and QueueReorderRequest for queue management
- QueueStatusResponse for complete status endpoint responses
- Add comprehensive unit tests (47 tests, all passing)
- Test validation constraints (positive numbers, ranges, etc.)
- Test default values and optional fields
- Test serialization/deserialization
- Test model relationships and nested structures
- Update documentation
- Add download models section to infrastructure.md
- Remove completed task from instructions.md
- Update models package __init__.py
All models follow PEP 8 style guide with proper type hints and validation.
- Enhanced existing src/server/utils/dependencies.py with optional SQLAlchemy import
- Added comprehensive unit tests in tests/unit/test_dependencies.py
- Created pytest configuration with asyncio support
- Implemented SeriesApp singleton dependency with proper error handling
- Added placeholders for database session and authentication dependencies
- Updated infrastructure.md with dependency injection documentation
- Completed dependency injection task from instructions.md
Features implemented:
- SeriesApp dependency with lazy initialization and singleton pattern
- Configuration validation for anime directory
- Comprehensive error handling for initialization failures
- Common query parameters for pagination
- Placeholder dependencies for future authentication and database features
- 18 passing unit tests covering all dependency injection scenarios
- Fix setup.html to use redirect_url from API response instead of hardcoded '/'
- Add database creation (aniworld.db, cache.db) during setup process
- Setup now properly creates all required files for validation
- After setup completion, users are correctly redirected to /login
- Tested: setup API returns correct redirect_url, database files created, redirect works
- Add test_application_flow.py with 22 test cases covering:
* Setup page functionality and validation
* Authentication flow and token handling
* Main application access controls
* Middleware flow enforcement
* Integration scenarios
- Fix TestClient redirect following issue in tests
- Update ServerTodo.md and TestsTodo.md to mark completed items
- All application flow features now fully tested (22/22 passing)
- Unit tests for CLI commands (scan, search, download, rescan, display)
- Tests for user input handling, selection validation, and retry logic
- E2E tests for complete CLI workflows from user perspective
- Progress bar functionality and user feedback testing
- Error recovery and network failure handling tests
- Keyboard interrupt and invalid input scenario testing
- Environment variable configuration testing
- Integration tests for anime search, details, and episode endpoints
- Unit tests for search algorithms, filtering, and pagination logic
- Tests cover authentication requirements, parameter validation
- Episode filtering by status, range, and missing episode detection
- Search performance optimization tests with indexing and caching
- Data integrity and consistency validation for API responses
- Integration tests for health endpoints (/health, /api/health/*, /api/system/database/health)
- Unit tests for system metrics collection (CPU, memory, disk, network)
- Performance monitoring tests (response time, throughput, error rate)
- Health status determination and service dependency checking
- Tests for both existing and planned health endpoints
- Authentication requirements testing for protected health endpoints
- Created unit, integration, and e2e test directories
- Added conftest.py with common fixtures and mocks
- Added pytest.ini with test configuration and markers