CORE-20708 Ensure API response is 2XX before parsing #6284
Merged
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.
We were seeing some test failures tracked under
CORE-20708
where the functionassertWithRetryIgnoringExceptions
was blowing up due to test code which tried to deserialise response payloads without actually checking if the response was a2XX
.This PR modifies these conditions so that the response code is checked before JSON deserialization is attempted. I noted also that there was a 50/50 split in the test cases between:
it.code == 200
/it.code == 204
it.code == ResponseCode.OK.statusCode
/it.code == ResponseCode.NO_CONTENT.statusCode
and have modified all cases to use the latter approach, with descriptive shared consts.