Quality cleanup refactoring

Made-with: Cursor
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-04-13 06:21:26 +03:00
parent 8f7deb3fca
commit 4eaf218f09
33 changed files with 957 additions and 207 deletions
@@ -0,0 +1,30 @@
# Existing Test Coverage Assessment
**Suite**: 18 e2e blackbox tests (all passing)
**Runner**: pytest via scripts/run-tests.sh
**Last run**: 18 passed, 0 failed, 0 skipped (12.87s)
## Coverage by Change
| Change | Files | Covered By | Coverage |
|--------|-------|------------|----------|
| C03 | security.pyx (decrypt_to) | test_upload_download_roundtrip — exercises encrypt→decrypt full path | Full |
| C04 | binary_split.py (decrypt_archive) | test_unlock_with_corrupt_archive — exercises decrypt path (error case) | Partial — no happy-path unlock test |
| C09 | api_client.pyx (cdn upload check) | test_upload_resource, test_upload_download_roundtrip — upload happy path | Full |
| C10 | api_client.pyx (upload_file propagation) | test_upload_resource — upload to API path | Full |
| C01 | main.py (singleton) | All endpoint tests exercise get_api_client() | Full (sequential only) |
| C02 | main.py (unlock state) | test_unlock_status_idle, test_unlock_missing_archive, test_unlock_concurrent_returns_current_state | Full |
| C05 | constants.pyx (log path) | Indirect — service starts and logs | Sufficient |
| C06 | main.py (os.remove log) | test_unlock_with_corrupt_archive — triggers _run_unlock | Partial |
| C07 | api_client.pyx (dead methods) | N/A — deletion only, no behavior change | N/A |
| C08 | constants.pyx (dead constants) | N/A — deletion only, no behavior change | N/A |
## Assessment
All public API endpoints are covered by blackbox tests. The critical refactoring paths — encrypt/decrypt roundtrip (C03), resource upload/download (C09/C10), and unlock state management (C02) — have dedicated e2e tests.
**Gaps identified**:
- No concurrency-specific test for C01 (singleton race). Sequential e2e tests exercise the singleton but don't stress concurrent access. Acceptable risk — the fix is a standard pattern.
- C04 only has an error-path test (corrupt archive). No happy-path unlock test exists because it would require a real encrypted Docker image archive.
**Conclusion**: Existing coverage is sufficient for the refactoring scope. No new tests needed before proceeding.