code: def test_docker_project_execution(
      use_start_run, docker_example_base_image
  ):  # pylint: disable=unused-argument
      expected_params = {"use_start_run": use_start_run}
      submitted_run = mlflow.projects.run(
          TEST_DOCKER_PROJECT_DIR,
          experiment_id=file_store.FileStore.DEFAULT_EXPERIMENT_ID,
          parameters=expected_params,
          entry_point="test_tracking",
          build_image=True,
          docker_args={"memory": "1g", "privileged": True},
      )
      # Validate run contents in the FileStore
      run_id = submitted_run.run_id
      mlflow_service = MlflowClient()
      runs = mlflow_service.search_runs(
          [file_store.FileStore.DEFAULT_EXPERIMENT_ID],
          run_view_type=ViewType.ACTIVE_ONLY,
      )
      assert len(runs) == 1
      store_run_id = runs[0].info.run_id
      assert run_id == store_run_id
      run = mlflow_service.get_run(run_id)
      assert run.data.params == expected_params
      assert run.data.metrics == {"some_key": 3}
      exact_expected_tags = {
          MLFLOW_PROJECT_ENV: "docker",
          MLFLOW_PROJECT_BACKEND: "local",
      }
      approx_expected_tags = {
          MLFLOW_DOCKER_IMAGE_URI: "docker-example",
          MLFLOW_DOCKER_IMAGE_ID: "sha256:",
      }
      run_tags = run.data.tags
      for k, v in exact_expected_tags.items():
          assert run_tags[k] == v
      for k, v in approx_expected_tags.items():
          assert run_tags[k].startswith(v)
      artifacts = mlflow_service.list_artifacts(run_id=run_id)
      assert len(artifacts) == 1
      docker_cmd = submitted_run.command_proc.args[2]
      assert "--memory 1g" in docker_cmd
      assert "--privileged" in docker_cmd
  
imports: import os
  from unittest import mock
  import pytest
  from databricks_cli.configure.provider import DatabricksConfig
  import docker
  import mlflow
  from mlflow import MlflowClient
  from mlflow.entities import ViewType
  from mlflow.environment_variables import MLFLOW_TRACKING_URI
  from mlflow.exceptions import MlflowException
  from mlflow.projects import ExecutionException, _project_spec
  from mlflow.projects.backend.local import _get_docker_command
  from mlflow.projects.docker import _get_docker_image_uri
  from mlflow.store.tracking import file_store
  from mlflow.utils.mlflow_tags import MLFLOW_DOCKER_IMAGE_ID, MLFLOW_DOCKER_IMAGE_URI, MLFLOW_PROJECT_BACKEND, MLFLOW_PROJECT_ENV
  from tests.projects.utils import TEST_DOCKER_PROJECT_DIR, docker_example_base_image
label_desc: Use image node_id 2 for calling a global function with example usage: test_docker_project_execution(use_start_run, docker_example_base_image) without return types