def test_request_exception_max_retries(self):
        """Test that RequestException raises after max retries."""
        import requests

        func = MagicMock(side_effect=requests.RequestException("Network error"))
        with self.assertRaises(DbtBaseException) as context:
            _retry_with_backoff("operation", func, max_retries=3)
        self.assertIn("Error operation: Network error", str(context.exception))
        self.assertEqual(func.call_count, 4)
        self.assertEqual(self.mock_sleep.call_count, 3)
Test that RequestException raises after max retries.
tests/unit/test_artifact_upload.py