# Testing dependencies for TimeTracker
# This file should be used in addition to requirements.txt for testing environments

# Core testing frameworks
pytest==7.4.3
pytest-flask==1.3.0
pytest-cov==4.1.0
pytest-xdist==3.5.0  # Parallel test execution
pytest-timeout==2.2.0  # Timeout for long-running tests
pytest-mock==3.12.0  # Mocking support
pytest-env==1.1.3  # Environment variable management for tests

# Code quality and linting
black==24.8.0
flake8==6.1.0
isort==5.13.2
pylint==3.0.3
mypy==1.8.0

# Type stubs (consumed by mypy)
types-requests==2.31.0.20240311
types-bleach==6.1.0.20240331
types-Markdown==3.6.0.20240316
types-python-dateutil==2.9.0.20240316

# Security testing
bandit==1.7.6  # Security linting
safety==3.7.0  # Dependency vulnerability scanning (3.0.x breaks on typer>=0.17)

# Test data generation
factory-boy==3.3.0  # Test fixtures
faker==22.0.0  # Fake data generation

# API testing
requests-mock==1.11.0  # Mock HTTP requests
responses==0.24.1  # Mock HTTP responses

# Performance testing
pytest-benchmark==4.0.0  # Performance benchmarking

# Database testing
sqlalchemy-utils==0.41.1  # Database utilities for testing

# HTML/Coverage report
coverage[toml]==7.4.0
pytest-html==4.1.1  # HTML test reports

# Additional utilities
freezegun==1.4.0  # Time mocking

