Prevent HttpUtil::parseResponse() from emitting PHP Notice Undefined offset 1 #302
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.
Context
As mentioned in #272, it's possible for HttpUtil::parseResponse() to receive a empty
$response
argument. In this case php-VCR emitswhich causes a Behat test to fail.
What has been done
Use
array_pad()
to ensure that the array created from an empty response argument has at least two empty elements.Add HttpUtilTest::parseResponseNull() to assert correct behavior if the response is null.
How to test
In my case I needed to create a new fixture for a [getUser()|https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html] call to AWS IAM. Doing that exposed this bug.
Notes
I used the same approach as #242