ai-agent/symphony-ai-agent/testing/Goal-3-Task-3/Goal-3-Task-3-test-plan.md

74 lines
No EOL
1.9 KiB
Markdown

# Goal-3-Task-3 Test Plan
## Test Objectives
1. Verify consistent behavior between CLI and Web interfaces
2. Validate security implementation (RBAC, TLS 1.3, audit logging)
3. 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
1. **Task Creation**
- CLI: `symphony add-task "Test task"`
- Web: POST /tasks with JSON payload
- Verify identical task storage and response
2. **Next Task Retrieval**
- CLI: `symphony next-task`
- Web: GET /tasks/next
- Verify same task returned in both interfaces
3. **Task Processing**
- CLI: `symphony process-task [ID]`
- Web: POST /tasks/[ID]/process
- Verify identical state changes
4. **Permission Validation**
- CLI: `symphony validate-permissions [user] [permission]`
- Web: GET /permissions/validate?user=[user]&permission=[permission]
- Verify identical RBAC results
### Security Tests
1. **TLS 1.3 Verification**
- Confirm only TLS 1.3 connections accepted
- Test with older protocols (should reject)
2. **RBAC Enforcement**
- Test all endpoints with:
* Valid credentials + permissions
* Valid credentials + invalid permissions
* Invalid credentials
3. **Audit Logging**
- Verify all operations logged with:
* Timestamp
* User
* Operation
* Status
4. **Rate Limiting**
- Verify rate limits enforced on /tasks endpoint
### Performance Tests
1. **Response Time**
- Measure response times for all endpoints
- Verify <500ms under load
2. **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