[pytest] # Pytest Configuration for Attune E2E Tests # Test discovery patterns python_files = test_*.py python_classes = Test* python_functions = test_* # Test paths testpaths = tests/e2e # Minimum Python version minversion = 7.0 # CLI options addopts = # Verbose output -v # Show summary of all test outcomes -ra # Show local variables in tracebacks --showlocals # Strict markers (fail if unknown marker used) --strict-markers # Strict config (fail on config warnings) --strict-config # Capture output (can override with -s) --capture=no # Disable warnings summary --disable-warnings # Timeout for tests (safety net) --timeout=300 # Markers for test categories markers = tier1: Tier 1 tests - Core automation flows (MVP essential) tier2: Tier 2 tests - Orchestration and data flow tier3: Tier 3 tests - Advanced features and edge cases slow: Tests that take longer than 30 seconds integration: Integration tests requiring all services unit: Unit tests that don't require external services timer: Tests involving timer triggers webhook: Tests involving webhook triggers workflow: Tests involving workflows datastore: Tests involving key-value datastore inquiry: Tests involving human-in-the-loop inquiries security: Security and RBAC tests performance: Performance and scalability tests rbac: Role-based access control tests secrets: Secret management and injection tests http: HTTP runner tests runner: Action runner tests (Python, Node.js, HTTP, container) validation: Parameter and input validation tests parameters: Parameter handling tests edge_case: Edge case and boundary condition tests rules: Rule evaluation and execution tests criteria: Rule criteria evaluation tests multi_tenant: Multi-tenancy and tenant isolation tests notifications: Notification system tests websocket: WebSocket real-time notification tests container: Container runner tests logs: Log capture and size limit tests limits: Resource and size limit tests orchestration: Advanced workflow orchestration tests # Logging log_cli = true log_cli_level = INFO log_cli_format = %(asctime)s [%(levelname)8s] %(message)s log_cli_date_format = %Y-%m-%d %H:%M:%S # Test output console_output_style = progress # Coverage (if pytest-cov installed) # Uncomment to enable coverage reporting # addopts = --cov=attune --cov-report=html --cov-report=term # Timeout settings timeout = 300 timeout_method = thread # Asyncio settings (if pytest-asyncio installed) asyncio_mode = auto # Environment variables env = ATTUNE_API_URL=http://localhost:8080 TEST_TIMEOUT=60