#208 Apps: Full lifecycle integration test
Description
Edit## Parent Epic: #195
## Description
Create comprehensive integration test covering the complete app lifecycle.
## Location
tests/integration/test_apps_lifecycle.py
## Test Scenario
### Phase 1: App Registration
1. POST /api/v1/apps - Register 'test_app'
2. Verify app created with correct metadata
3. Verify app status is 'active'
### Phase 2: Version Creation
1. POST /api/v1/apps/{app_id}/versions - Create v1.0.0 (draft)
2. Verify version in 'draft' status
3. POST publish - Publish version
4. Verify version in 'published' status
### Phase 3: Tenant Installation
1. POST /api/v1/tenant/apps/{app_id}/install
2. Configure with test configuration
3. Set up test secrets
4. Verify installation status 'enabled'
### Phase 4: Workflow Usage
1. Create workflow using apps.test_app.action
2. Submit workflow
3. Wait for completion
4. Verify action executed correctly
5. Verify execution logged to app_execution_log
### Phase 5: App Update
1. Create v1.1.0 version
2. Publish v1.1.0
3. POST /api/v1/tenant/apps/{app_id}/upgrade
4. Run workflow again
5. Verify new version used
### Phase 6: App Disable/Enable
1. POST disable - Disable app
2. Try to run workflow - should fail
3. POST enable - Re-enable
4. Run workflow - should succeed
### Phase 7: App Deregistration
1. DELETE /api/v1/tenant/apps/{app_id} - Uninstall
2. Try to run workflow - should fail (not installed)
3. DELETE /api/v1/apps/{app_id} - Deregister
4. Verify app status 'deleted'
### Phase 8: Re-registration
1. POST /api/v1/apps - Register same app name
2. Create and publish version
3. Install to tenant
4. Verify workflow works again
## Test Requirements
- Uses API calls only (per testing guideline)
- No mocking
- Runs in test tenant
- Parallel-safe with -n 4
## Assertions
- All API responses validated
- Database state verified
- Workflow results validated
- Audit logs checked
Comments
Loading comments...
Context
Loading context...
Audit History
View AllLoading audit history...