code: def test_path_params():
      data_file = "s3://path.test/resources/data_file.csv"
      defaults = {
          "constants": {"type": "uri", "default": "s3://path.test/b1"},
          "data": {"type": "path", "default": data_file},
      }
      entry_point = EntryPoint(
          "entry_point_name", defaults, "command_name script.py"
      )
  
      with mock.patch(
          "mlflow.tracking.artifact_utils._download_artifact_from_uri",
          return_value=None,
      ) as download_uri_mock:
          final_1, extra_1 = entry_point.compute_parameters({}, None)
          assert final_1 == {
              "constants": "s3://path.test/b1",
              "data": data_file,
          }
          assert extra_1 == {}
          assert download_uri_mock.call_count == 0
  
      with mock.patch(
          "mlflow.tracking.artifact_utils._download_artifact_from_uri"
      ) as download_uri_mock:
          user_2 = {"alpha": 0.001, "constants": "s3://path.test/b_two"}
          final_2, extra_2 = entry_point.compute_parameters(
              user_2, None
          )
          assert final_2 == {
              "constants": "s3://path.test/b_two",
              "data": data_file,
          }
          assert extra_2 == {"alpha": "0.001"}
          assert download_uri_mock.call_count == 0
  
      with mock.patch(
          "mlflow.tracking.artifact_utils._download_artifact_from_uri"
      ) as download_uri_mock, TempDir() as tmp:
          dest_path = tmp.path()
          download_path = f"{dest_path}/data_file.csv"
          download_uri_mock.return_value = download_path
          user_3 = {"alpha": 0.001}
          final_3, extra_3 = entry_point.compute_parameters(
              user_3, dest_path
          )
          assert final_3 == {
              "constants": "s3://path.test/b1",
              "data": download_path,
          }
          assert extra_3 == {"alpha": "0.001"}
          assert download_uri_mock.call_count == 1
  
      with mock.patch(
          "mlflow.tracking.artifact_utils._download_artifact_from_uri"
      ) as download_uri_mock, TempDir() as tmp:
          dest_path = tmp.path()
          download_path = f"{dest_path}/images.tgz"
          download_uri_mock.return_value = download_path
          user_4 = {
              "data": "s3://another.example.test/data_stash/images.tgz"
          }
          final_4, extra_4 = entry_point.compute_parameters(
              user_4, dest_path
          )
          assert final_4 == {
              "constants": "s3://path.test/b1",
              "data": download_path,
          }
          assert extra_4 == {}
          assert download_uri_mock.call_count == 1
  
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 6 for calling a global function with example usage: test_path_params() without return types