Repository navigation
fix: update client for Ledger v0.20.2 error responses - #63
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.
Regenerate the low-level client from the integration OpenAPI contract published with Ledger v0.20.2 and adapt the handwritten facade to its error responses.
Remove the obsolete HTTPValidationError import and use detailed endpoint responses to preserve actual HTTP statuses. Map HTTP 422 to OblidogValidationError, typed integration run conflicts to OblidogConflictError, and other HTTP errors to OblidogApiError. Keep the complete original response bytes, including error metadata and params. Translate unexpected-status exceptions with their cause preserved.
Update error response fixtures and add regression coverage across obligations, category data, and integration context, including HTTP 400/401/403/404/409/413/422/500/503 and no replay of rejected requests.
Validation: 100 tests passed; Ruff check and format, strict documentation build, compileall, distribution verification, and installed wheel public API smoke test passed.