90 lines
2.7 KiB
INI
90 lines
2.7 KiB
INI
[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
|