postFileAsync('/', '', []); } catch (Exception $e) { $message = $e->getMessage(); } self::assertStringStartsWith($expectedExceptionMessage, $message); self::assertObjectLoggedMessage($apiClient, $expectedLogMessage, Monolog::CRITICAL); } /** * @throws ReflectionException */ public function testInvalidApiClientParseJsonResponse() { $apiClient = new ApiClient(); $reflectionMethod = new ReflectionMethod(ApiClient::class, 'parseJsonResponse'); $reflectionMethod->setAccessible(true); $message = null; $expectedExceptionMessage = 'Error parsing server response'; try { $reflectionMethod->invoke($apiClient, new Response(200, [], '{NOT_A_JSON}')); } catch (Exception $e) { $message = $e->getMessage(); } self::assertStringStartsWith($expectedExceptionMessage, $message); self::assertObjectLoggedMessage($apiClient, $expectedExceptionMessage, Monolog::ERROR); } }