pdf-accessibility/pytest.ini
Vadym Samoilenko 0e24602096 Add production readiness: authentication, logging, retry logic, and test suite
Phase 1: Critical bug fixes
- Fix missing os/sys imports in pdf_remediation.py (line 427 crash)
- Install Python dependencies (venv with 11 packages)
- Create runtime directories (uploads, results, .cache)
- Configure environment (.env from .env.example)

Phase 2: Production features
- Add authentication module (auth.php) with API key support
- Integrate auth into api.php with CORS headers update
- Add structured logging framework (logger_config.py) with rotation
- Add retry helper (retry_helper.py) with exponential backoff
- Apply retry decorators to AI API calls (Claude and Google Vision)
- Create comprehensive test suite (31 tests, 34% coverage)
  * Unit tests for checker and remediation
  * Integration tests for API and authentication
  * pytest configuration with coverage reporting

Documentation:
- Add requirements specifications (BRS, FRS, SAD) to docs_req/
- Add PDF-UA-1 technical background
- Add sample accessibility report

All tests passing (31/31). Ready for production deployment.

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
2026-02-25 13:26:02 +00:00

56 lines
967 B
INI

[pytest]
# Pytest configuration for PDF Accessibility Checker
# Test discovery patterns
python_files = test_*.py
python_classes = Test*
python_functions = test_*
# Output options
addopts =
-v
--strict-markers
--tb=short
--cov=.
--cov-report=term-missing
--cov-report=html:htmlcov
-p no:warnings
# Test markers
markers =
integration: marks tests as integration tests (deselect with '-m "not integration"')
slow: marks tests as slow (deselect with '-m "not slow"')
api: marks tests that require API access
# Ignore patterns
norecursedirs =
.git
.cache
venv
env
__pycache__
uploads
results
logs
htmlcov
READMEs
# Coverage settings
[coverage:run]
source = .
omit =
*/tests/*
*/venv/*
*/env/*
*/__pycache__/*
*/site-packages/*
setup.py
conftest.py
[coverage:report]
precision = 2
show_missing = True
skip_covered = False
[coverage:html]
directory = htmlcov