1.9 KiB
1.9 KiB
Goal-3-Task-3 Test Plan
Test Objectives
- Verify consistent behavior between CLI and Web interfaces
- Validate security implementation (RBAC, TLS 1.3, audit logging)
- Ensure response times <500ms for all core operations
Test Environment
- CLI: Python 3.10+ with Click
- Web: Flask with TLS 1.3
- Test certificates for RBAC validation
Test Cases
Functional Equivalence Tests
-
Task Creation
- CLI:
symphony add-task "Test task" - Web: POST /tasks with JSON payload
- Verify identical task storage and response
- CLI:
-
Next Task Retrieval
- CLI:
symphony next-task - Web: GET /tasks/next
- Verify same task returned in both interfaces
- CLI:
-
Task Processing
- CLI:
symphony process-task [ID] - Web: POST /tasks/[ID]/process
- Verify identical state changes
- CLI:
-
Permission Validation
- CLI:
symphony validate-permissions [user] [permission] - Web: GET /permissions/validate?user=[user]&permission=[permission]
- Verify identical RBAC results
- CLI:
Security Tests
-
TLS 1.3 Verification
- Confirm only TLS 1.3 connections accepted
- Test with older protocols (should reject)
-
RBAC Enforcement
- Test all endpoints with:
- Valid credentials + permissions
- Valid credentials + invalid permissions
- Invalid credentials
- Test all endpoints with:
-
Audit Logging
- Verify all operations logged with:
- Timestamp
- User
- Operation
- Status
- Verify all operations logged with:
-
Rate Limiting
- Verify rate limits enforced on /tasks endpoint
Performance Tests
-
Response Time
- Measure response times for all endpoints
- Verify <500ms under load
-
Concurrency
- Test parallel requests
- Verify no RBAC or state corruption
Test Data
- Test users with varying permissions
- Sample task payloads
- Performance test scripts
Pass/Fail Criteria
- All functional tests must pass
- No security test failures
- 95% of requests under 500ms