6c643e9962
- Add pytest-timeout>=2.3.0 to requirements-dev.txt with 120s global default - Fix test_fallback_file_id_lookup: add missing _should_upload_* mocks that caused .delay() calls to hang on Redis broker connection - Split CI test job into two stages: - Quick Tests (timeout: 10min, ~2min run): unit + basic integration - Integration Tests (timeout: 20min): Docker containers, external services - Quick tests gate integration tests for fast-fail feedback - Build job now depends on both test stages Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
37 lines
1.0 KiB
Plaintext
37 lines
1.0 KiB
Plaintext
# Development and testing dependencies
|
|
-r requirements.txt
|
|
|
|
# Testing
|
|
pytest>=8.0.0
|
|
pytest-cov>=4.1.0
|
|
pytest-asyncio>=0.23.0
|
|
pytest-mock>=3.12.0
|
|
pytest-timeout>=2.3.0 # Per-test timeout enforcement to prevent CI hangs
|
|
httpx>=0.26.0 # For async test client
|
|
testcontainers>=3.7.1 # For integration tests with real containers
|
|
fpdf2>=2.8.0 # For generating test PDF documents in integration tests
|
|
minio>=7.1.0 # For MinIO/S3 integration tests
|
|
redis>=4.5.0 # For Redis integration tests
|
|
boto3>=1.26.0 # For S3 integration tests
|
|
|
|
# Code quality
|
|
ruff>=0.3.0
|
|
mypy>=1.8.0
|
|
djlint>=1.36.0 # HTML template linter for accessibility and best practices
|
|
|
|
# Type stubs for mypy
|
|
types-requests>=2.31.0
|
|
types-paramiko>=3.0.0
|
|
|
|
# Security scanning (Ruff includes most security checks from bandit)
|
|
pip-audit>=2.7.0 # Dependency vulnerability scanning against OSV/PyPA advisory databases
|
|
|
|
# Pre-commit hooks
|
|
pre-commit>=3.6.0
|
|
|
|
# License compliance
|
|
pip-licenses==5.5.1 # For license compliance checking
|
|
|
|
# Release automation
|
|
python-semantic-release>=9.0.0
|