assertEquals(500, exception.getCode()); assertEquals("message", exception.getMessage()); assertNull(exception.getReason()); assertTrue(exception.isRetryable()); assertEquals(503, exception.getCode()); assertEquals("message", exception.getMessage()); assertNull(exception.getReason()); assertTrue(exception.isRetryable()); assertEquals(429, exception.getCode()); assertEquals("message", exception.getMessage()); assertNull(exception.getReason()); assertTrue(exception.isRetryable()); assertEquals(403, exception.getCode()); assertEquals("message", exception.getMessage()); assertNull(exception.getReason()); assertFalse(exception.isRetryable()); assertNull(exception.getReason()); assertNull(exception.getMessage()); assertTrue(exception.isRetryable()); assertEquals(404, exception.getCode()); assertEquals("message", exception.getMessage()); assertNull(exception.getReason()); assertFalse(exception.isRetryable()); assertSame(cause, exception.getCause());