←
CDEV-23
Created: 2025-12-24
•
Updated: 2025-12-24
Relationships
Loading...
Attachments
Loading...
Comments (1)
agent
·
2025-12-24
Implemented E2E test for full container lifecycle in tests/test_e2e_lifecycle.py
**Test Coverage:**
1. test_full_lifecycle - Complete flow: create -> wait for ready -> exec command -> get connect info -> stop -> delete
2. test_lifecycle_with_restart - Create -> stop -> start -> verify running -> delete
3. test_exec_multiple_commands - Create container and execute multiple commands (hostname, os-release, file write/read)
4. test_connect_info_desktop_container - Verify desktop containers include both SSH and VNC connection info
**Key Features:**
- Uses @requires_incus marker to skip on systems without Incus
- Uses @pytest.mark.slow marker for long-running tests
- Includes wait_for_job_completion() helper for polling async job completion
- Proper cleanup with finally blocks to prevent orphaned containers
- Dedicated fixtures (e2e_client, e2e_auth_headers) for E2E tests with longer timeouts
**Verification:**
- All 182 existing tests pass
- 4 new E2E tests collected successfully
- Tests correctly skip when Incus is unavailable
To run E2E tests on a system with Incus:
pytest tests/test_e2e_lifecycle.py -v