code: def test_run_databricks(
      runs_submit_mock,
      runs_get_mock,
      cluster_spec_mock,
      set_tag_mock,
      databricks_cluster_mlflow_run_cmd_mock,
      monkeypatch,
  ):
      """Test running on Databricks with mocks."""
      monkeypatch.setenv("DATABRICKS_HOST", "test-host")
      monkeypatch.setenv("DATABRICKS_TOKEN", "foo")
      # Test that MLflow gets the correct run status when performing a Databricks run
      for run_succeeded, expect_status in [
          (True, RunStatus.FINISHED),
          (False, RunStatus.FAILED),
      ]:
          runs_get_mock.return_value = mock_runs_get_result(
              succeeded=run_succeeded
          )
          submitted_run = run_databricks_project(
              cluster_spec_mock, synchronous=False
          )
          assert submitted_run.wait() == run_succeeded
          assert submitted_run.run_id is not None
          assert runs_submit_mock.call_count == 1
          assert databricks_cluster_mlflow_run_cmd_mock.call_count == 1
          tags = {}
          for call_args, _ in set_tag_mock.call_args_list:
              tags[call_args[1]] = call_args[2]
          assert tags[MLFLOW_DATABRICKS_RUN_URL] == "test_url"
          assert tags[MLFLOW_DATABRICKS_SHELL_JOB_RUN_ID] == "-1"
          assert tags[MLFLOW_DATABRICKS_WEBAPP_URL] == "test-host"
          set_tag_mock.reset_mock()
          runs_submit_mock.reset_mock()
          databricks_cluster_mlflow_run_cmd_mock.reset_mock()
          validate_exit_status(
              submitted_run.get_status(), expect_status
          )
  
imports: import filecmp
  import json
  import os
  import shutil
  from unittest import mock
  import databricks_cli
  import pytest
  from databricks_cli.configure.provider import DatabricksConfig
  import mlflow
  from mlflow import MlflowClient, cli
  from mlflow.entities import RunStatus
  from mlflow.environment_variables import MLFLOW_TRACKING_URI
  from mlflow.exceptions import MlflowException
  from mlflow.projects import ExecutionException, databricks
  from mlflow.projects.databricks import DatabricksJobRunner, _get_cluster_mlflow_run_cmd
  from mlflow.protos.databricks_pb2 import INVALID_PARAMETER_VALUE, ErrorCode
  from mlflow.store.tracking.file_store import FileStore
  from mlflow.tracking.request_header.default_request_header_provider import DefaultRequestHeaderProvider
  from mlflow.utils import file_utils
  from mlflow.utils.mlflow_tags import MLFLOW_DATABRICKS_RUN_URL, MLFLOW_DATABRICKS_SHELL_JOB_RUN_ID, MLFLOW_DATABRICKS_WEBAPP_URL
  from mlflow.utils.uri import construct_db_uri_from_profile
  from tests import helper_functions
  from tests.integration.utils import invoke_cli_runner
  from tests.projects.utils import TEST_PROJECT_DIR, validate_exit_status
label_desc: Use image node_id 19 for calling a global function with example usage: test_run_databricks(runs_submit_mock, runs_get_mock, cluster_spec_mock, set_tag_mock, databricks_cluster_mlflow_run_cmd_mock, monkeypatch) without return types