code: def test_log_artifacts_provides_failure_info(
      databricks_artifact_repo, tmp_path
  ):
      src_file1_path = os.path.join(tmp_path, "file_1.txt")
      with open(src_file1_path, "w") as f:
          f.write("file1")
      src_file2_path = os.path.join(tmp_path, "file_2.txt")
      with open(src_file2_path, "w") as f:
          f.write("file2")
  
      with mock.patch(
          f"{DATABRICKS_ARTIFACT_REPOSITORY}._get_write_credential_infos",
          return_value=[
              ArtifactCredentialInfo(
                  signed_uri=MOCK_AZURE_SIGNED_URI,
                  type=ArtifactCredentialType.AZURE_SAS_URI,
              ),
              ArtifactCredentialInfo(
                  signed_uri=MOCK_AZURE_SIGNED_URI,
                  type=ArtifactCredentialType.AZURE_SAS_URI,
              ),
          ],
      ), mock.patch(
          f"{DATABRICKS_ARTIFACT_REPOSITORY}._upload_to_cloud",
          side_effect=[
              MlflowException("MOCK ERROR 1"),
              MlflowException("MOCK ERROR 2"),
          ],
      ):
          match = (
              r"The following failures occurred while uploading one or more artifacts.+"
              r"MOCK ERROR 1.+"
              r"MOCK ERROR 2"
          )
          with pytest.raises(MlflowException, match=match) as exc:
              databricks_artifact_repo.log_artifacts(
                  str(tmp_path), "test_artifacts"
              )
  
          err_msg = str(exc.value)
          assert MOCK_RUN_ROOT_URI in err_msg
          assert "file_1.txt" in err_msg
          assert "MOCK ERROR 1" in err_msg
          assert "file_2.txt" in err_msg
          assert "MOCK ERROR 2" in err_msg
  
imports: import json
  import os
  import posixpath
  import re
  import shutil
  import time
  from unittest import mock
  from unittest.mock import ANY
  import pytest
  from requests.models import Response
  from mlflow.entities.file_info import FileInfo
  from mlflow.exceptions import MlflowException
  from mlflow.protos.databricks_artifacts_pb2 import ArtifactCredentialInfo, ArtifactCredentialType, CompleteMultipartUpload, CreateMultipartUpload, GetCredentialsForRead, GetCredentialsForWrite, GetPresignedUploadPartUrl
  from mlflow.protos.service_pb2 import FileInfo, ListArtifacts
  from mlflow.store.artifact.artifact_repository_registry import get_artifact_repository
  from mlflow.store.artifact.databricks_artifact_repo import _MAX_CREDENTIALS_REQUEST_SIZE, DatabricksArtifactRepository
label_desc: Use image node_id 36 for calling a global function with example usage: test_log_artifacts_provides_failure_info(databricks_artifact_repo, tmp_path) without return types