test: takeout-worker coverage to 90#85
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Raises takeout-worker combined coverage 89% → 99% and the gate 70 → 90:
runners.py(was 23%): CurlRunner success / non-retryable 401 / retry-then-exhaust (asyncio.sleep patched); TarRunner success / dest-create failure / every tar stderr branch. subprocess patched at the adapter boundary — the runners are the owned abstraction over curl/tar.logger.py(was 29%): StructuredFormatter core fields + optional context fields present/absent.services.pyextract_chunk error paths: missing params, missing required keys, archive-not-found, tar-runner failure, unexpected exception.Only defensive lines remain uncovered (an unreachable trailing return, a cleanup-failure warning). Follows the dev-context Python rules (class-per-class, subject fixtures, spec= mocks, strong assertions).
🤖 Generated with Claude Code