code: def test_entry_point_compute_command():
      """
      Tests that EntryPoint correctly computes the command to execute in order to run the entry point.
      """
      project = load_project()
      entry_point = project.get_entry_point("greeter")
      with TempDir() as tmp:
          storage_dir = tmp.path()
          command = entry_point.compute_command(
              {"name": "friend", "excitement": 10}, storage_dir
          )
          assert (
              command == "python greeter.py hi friend --excitement 10"
          )
          with pytest.raises(
              ExecutionException,
              match="No value given for missing parameters: 'name'",
          ):
              entry_point.compute_command({}, storage_dir)
          # Test shell escaping
          name_value = "friend; echo 'hi'"
          command = entry_point.compute_command(
              {"name": name_value}, storage_dir
          )
          assert command == "python greeter.py {} {}".format(
              quote("hi"), quote(name_value)
          )
  
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 2 for calling a global function with example usage: test_entry_point_compute_command() without return types