public function testThrowsExceptionWithNonRetryableError()
 {
     $nonRetryableErrorMessage = '{"error": {"errors": [{"reason": "notAGoodEnoughReason"}]}}';
     $actualAttempts = 0;
     $hasTriggeredException = false;
     $requestWrapper = new RequestWrapper(['httpHandler' => function () use(&$actualAttempts, $nonRetryableErrorMessage) {
         $actualAttempts++;
         throw new \Exception($nonRetryableErrorMessage, 429);
     }]);
     try {
         $requestWrapper->send(new Request('GET', 'http://www.example.com'));
     } catch (\Exception $ex) {
         $hasTriggeredException = true;
     }
     $this->assertTrue($hasTriggeredException);
     $this->assertEquals(1, $actualAttempts);
 }