GitHub
06/05/2026, 5:06 AMerrors field during response validation
• raise FatalAPIError with the GraphQL error message instead of treating the response as successful
• add regression coverage for GraphQL error payloads returned with HTTP 200
Testing
• uv run pytest tests/core/test_streams.py::test_graphql_validate_response_raises_for_errors -q
• uv run pytest tests/core/test_streams.py -q
• nox -rs tests-3.11 -- tests/core/test_streams.py
• pre-commit run --files singer_sdk/streams/graphql.py tests/core/test_streams.py
Summary by Sourcery
Handle GraphQL error payloads returned with HTTP 200 by validating the response body and surfacing errors as fatal API failures.
Bug Fixes:
• Treat GraphQL responses containing a non-empty errors field as failures and raise a FatalAPIError instead of treating them as successful responses.
Tests:
• Add regression tests covering GraphQL error payloads with HTTP 200, non-JSON and non-dict bodies, empty or missing errors fields, and alternate error structures.
meltano/sdkGitHub
06/05/2026, 5:06 AMGitHub
06/05/2026, 5:14 AM