From cb4706410cca141831998eda0a497a525a36ddfa Mon Sep 17 00:00:00 2001 From: Thomas Calvet Date: Thu, 2 Dec 2021 18:54:40 +0100 Subject: [PATCH] [HttpClient] Fix response id property check in MockResponse --- .../Component/HttpClient/Response/MockResponse.php | 2 +- .../HttpClient/Tests/Response/MockResponseTest.php | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/HttpClient/Response/MockResponse.php b/src/Symfony/Component/HttpClient/Response/MockResponse.php index 385487d6e1b47..547e131223a56 100644 --- a/src/Symfony/Component/HttpClient/Response/MockResponse.php +++ b/src/Symfony/Component/HttpClient/Response/MockResponse.php @@ -159,7 +159,7 @@ public static function fromRequest(string $method, string $url, array $options, */ protected static function schedule(self $response, array &$runningResponses): void { - if (!$response->id) { + if (!isset($response->id)) { throw new InvalidArgumentException('MockResponse instances must be issued by MockHttpClient before processing.'); } diff --git a/src/Symfony/Component/HttpClient/Tests/Response/MockResponseTest.php b/src/Symfony/Component/HttpClient/Tests/Response/MockResponseTest.php index f8c8d4cea5733..888340f329c3b 100644 --- a/src/Symfony/Component/HttpClient/Tests/Response/MockResponseTest.php +++ b/src/Symfony/Component/HttpClient/Tests/Response/MockResponseTest.php @@ -3,6 +3,7 @@ namespace Symfony\Component\HttpClient\Tests\Response; use PHPUnit\Framework\TestCase; +use Symfony\Component\HttpClient\Exception\InvalidArgumentException; use Symfony\Component\HttpClient\Exception\JsonException; use Symfony\Component\HttpClient\Exception\TransportException; use Symfony\Component\HttpClient\Response\MockResponse; @@ -107,4 +108,12 @@ public function testErrorIsTakenIntoAccountInInitialization() 'error' => 'ccc error', ]))->getStatusCode(); } + + public function testMustBeIssuedByMockHttpClient() + { + $this->expectException(InvalidArgumentException::class); + $this->expectExceptionMessage('MockResponse instances must be issued by MockHttpClient before processing.'); + + (new MockResponse())->getContent(); + } }