code: def test_uri_parameter():
      """Tests parameter resolution for parameters of type `uri`."""
      project = load_project()
      entry_point = project.get_entry_point("download_uri")
      with mock.patch(
          "mlflow.tracking.artifact_utils._download_artifact_from_uri"
      ) as download_uri_mock, TempDir() as tmp:
          dst_dir = tmp.path()
          # Test that we don't attempt to locally download parameters of type URI
          entry_point.compute_command(
              user_parameters={"uri": f"file://{dst_dir}"},
              storage_dir=dst_dir,
          )
          assert download_uri_mock.call_count == 0
          # Test that we raise an exception if a local path is passed to a parameter of type URI
          with pytest.raises(
              ExecutionException, match="Expected URI for parameter uri"
          ):
              entry_point.compute_command(
                  user_parameters={"uri": dst_dir}, storage_dir=dst_dir
              )
  
file_path: mlflow/tests/projects/test_entry_point.py
imports: import os
  from shlex import quote
  from unittest import mock
  import pytest
  from mlflow.exceptions import ExecutionException
  from mlflow.projects._project_spec import EntryPoint
  from mlflow.utils.file_utils import TempDir, path_to_local_file_uri
  from tests.projects.utils import TEST_PROJECT_DIR, load_project
label_desc: Use image node_id 4 for calling a global function with example usage: test_uri_parameter() without return types