✅ COMPLETE: 18/18 tests passing
Test Coverage:
- Concurrent scan prevention: Second scan blocked, multiple attempts handled, lock released after completion
- Scan cancellation: Cancel active scan, cancel when none active, cancelled scans in history, new scan after cancellation
- Database race conditions: AsyncIO lock prevents races, scan state consistency with concurrent reads, thread-safe history updates
- Scan state consistency: is_scanning flag consistency, current_scan object consistency, status API consistency, concurrent status checks
- Scheduler prevention: Scheduler skips rescan if already running, properly sets scan_in_progress flag
- AnimeService: Ignores concurrent rescan requests
All concurrent operation scenarios validated with proper lock management and state consistency.
Aniworld Documentation
Overview
This directory contains all documentation for the Aniworld anime download manager project.
Documentation Structure
| Document | Purpose | Target Audience |
|---|---|---|
| ARCHITECTURE.md | System architecture and design decisions | Architects, Senior Developers |
| API.md | REST API reference and WebSocket documentation | Frontend Developers, API Consumers |
| DEVELOPMENT.md | Developer setup and contribution guide | All Developers |
| DEPLOYMENT.md | Deployment and operations guide | DevOps, System Administrators |
| DATABASE.md | Database schema and data models | Backend Developers |
| TESTING.md | Testing strategy and guidelines | QA Engineers, Developers |
| SECURITY.md | Security considerations and guidelines | Security Engineers, All Developers |
| CONFIGURATION.md | Configuration options reference | Operators, Developers |
| CHANGELOG.md | Version history and changes | All Stakeholders |
| TROUBLESHOOTING.md | Common issues and solutions | Support, Operators |
| features.md | Feature list and capabilities | Product Owners, Users |
| instructions.md | AI agent development instructions | AI Agents, Developers |
Documentation Standards
- All documentation uses Markdown format
- Keep documentation up-to-date with code changes
- Include code examples where applicable
- Use clear, concise language
- Include diagrams for complex concepts (use Mermaid syntax)
Contributing to Documentation
When adding or updating documentation:
- Follow the established format in each document
- Update the README.md if adding new documents
- Ensure cross-references are valid
- Review for spelling and grammar