code: def test_http_request_with_invalid_url_raise_invalid_url_exception():
      """InvalidURL exception can be caught by a custom InvalidUrlException"""
      host_only = MlflowHostCreds("http://my-host")
  
      with pytest.raises(
          InvalidUrlException,
          match="Invalid url: http://my-host/invalid_url",
      ):
          with mock.patch(
              "requests.Session.request",
              side_effect=requests.exceptions.InvalidURL,
          ):
              http_request(host_only, "/invalid_url", "GET")
  
imports: import re
  from unittest import mock
  import numpy
  import pytest
  import requests
  from mlflow.environment_variables import MLFLOW_HTTP_REQUEST_TIMEOUT
  from mlflow.exceptions import InvalidUrlException, MlflowException, RestException
  from mlflow.protos.databricks_pb2 import ENDPOINT_NOT_FOUND, ErrorCode
  from mlflow.protos.service_pb2 import GetRun
  from mlflow.pyfunc.scoring_server import NumpyEncoder
  from mlflow.tracking.request_header.default_request_header_provider import _USER_AGENT, DefaultRequestHeaderProvider
  from mlflow.utils.rest_utils import MlflowHostCreds, _can_parse_as_json_object, augmented_raise_for_status, call_endpoint, call_endpoints, http_request, http_request_safe
  from tests import helper_functions
label_desc: Use image node_id 19 for calling a global function with example usage: test_http_request_with_invalid_url_raise_invalid_url_exception() without return types