code: def test_credential_propagation(get_config, synchronous):
      class DummyProcess:
          def wait(self):
              return 0
  
          def poll(self):
              return 0
  
          def communicate(self, _):
              return "", ""
  
      get_config.return_value = DatabricksConfig.from_token(
          "host", "mytoken", insecure=False
      )
      with mock.patch(
          "subprocess.Popen", return_value=DummyProcess()
      ) as popen_mock, mock.patch(
          "mlflow.utils.uri.is_databricks_uri", return_value=True
      ):
          mlflow.projects.run(
              TEST_PROJECT_DIR,
              entry_point="sleep",
              experiment_id=FileStore.DEFAULT_EXPERIMENT_ID,
              parameters={"duration": 2},
              env_manager="local",
              synchronous=synchronous,
          )
          _, kwargs = popen_mock.call_args
          env = kwargs["env"]
          assert env["DATABRICKS_HOST"] == "host"
          assert env["DATABRICKS_TOKEN"] == "mytoken"
  
imports: import json
  import os
  import shutil
  import subprocess
  import uuid
  from unittest import mock
  import git
  import pytest
  import yaml
  from databricks_cli.configure.provider import DatabricksConfig
  import mlflow
  from mlflow import MlflowClient
  from mlflow.entities import RunStatus, SourceType, ViewType
  from mlflow.environment_variables import MLFLOW_CONDA_CREATE_ENV_CMD, MLFLOW_CONDA_HOME
  from mlflow.exceptions import ExecutionException, MlflowException
  from mlflow.projects import _parse_kubernetes_config, _resolve_experiment_id
  from mlflow.store.tracking.file_store import FileStore
  from mlflow.utils import PYTHON_VERSION
  from mlflow.utils.conda import CONDA_EXE, get_or_create_conda_env
  from mlflow.utils.mlflow_tags import LEGACY_MLFLOW_GIT_BRANCH_NAME, LEGACY_MLFLOW_GIT_REPO_URL, MLFLOW_GIT_BRANCH, MLFLOW_GIT_REPO_URL, MLFLOW_PARENT_RUN_ID, MLFLOW_PROJECT_BACKEND, MLFLOW_PROJECT_ENTRY_POINT, MLFLOW_PROJECT_ENV, MLFLOW_SOURCE_NAME, MLFLOW_SOURCE_TYPE, MLFLOW_USER
  from mlflow.utils.process import ShellCommandException
  from tests.projects.utils import TEST_PROJECT_DIR, TEST_PROJECT_NAME, validate_exit_status
label_desc: Use image node_id 24 for calling a global function with example usage: test_credential_propagation(get_config, synchronous) and returns: int, int, str,  str