e658dec83c
- Add fpdf2 dependency for dynamic test PDF generation - Create tests/test_external_integrations.py with end-to-end pipeline tests: - OpenAI: key validation, metadata extraction via chat completion - Azure Document Intelligence: admin connectivity, full OCR on generated PDF - S3: bucket access, upload/download/delete pipeline - Dropbox: token refresh, upload/download/delete pipeline - OneDrive: token refresh, upload/download/delete pipeline - Authentik: OIDC discovery endpoint, credential consistency - Full pipeline: Azure OCR → OpenAI metadata extraction - Update tests/conftest.py to capture original env vars before test overrides - Add has_real_env() helper and original_env fixture for credential detection - All external tests use @pytest.mark.requires_external and skipif guards - Test files are dynamically generated with unique content per run - Uploaded test files are cleaned up in finally blocks Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
34 lines
756 B
Plaintext
34 lines
756 B
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
|
|
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
|
|
flake8>=7.0.0
|
|
black>=24.0.0
|
|
mypy>=1.8.0
|
|
pylint>=3.0.0
|
|
isort>=5.13.0
|
|
|
|
# Security scanning
|
|
bandit>=1.7.6
|
|
safety>=3.0.0
|
|
|
|
# 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 |