code: def test_file_artifacts_are_logged_with_content_metadata_in_batch(
      s3_artifact_repo, s3_artifact_root, tmp_path
  ):
      subdir = tmp_path / "subdir"
      subdir.mkdir()
      subdir_path = str(subdir)
      nested_path = os.path.join(subdir_path, "nested")
      os.makedirs(nested_path)
      path_a = os.path.join(subdir_path, "a.txt")
      path_b = os.path.join(subdir_path, "b.tar.gz")
      path_c = os.path.join(nested_path, "c.csv")
  
      with open(path_a, "w") as f:
          f.write("A")
      with tarfile.open(path_b, "w:gz") as f:
          f.add(path_a)
      with open(path_c, "w") as f:
          f.write("col1,col2\n1,3\n2,4\n")
  
      s3_artifact_repo.log_artifacts(subdir_path)
  
      bucket, _ = s3_artifact_repo.parse_s3_compliant_uri(
          s3_artifact_root
      )
      s3_client = s3_artifact_repo._get_s3_client()
  
      response_a = s3_client.head_object(
          Bucket=bucket, Key="some/path/a.txt"
      )
      assert response_a.get("ContentType") == "text/plain"
      assert response_a.get("ContentEncoding") is None
  
      response_b = s3_client.head_object(
          Bucket=bucket, Key="some/path/b.tar.gz"
      )
      assert response_b.get("ContentType") == "application/x-tar"
      assert response_b.get("ContentEncoding") == "gzip"
  
      response_c = s3_client.head_object(
          Bucket=bucket, Key="some/path/nested/c.csv"
      )
      assert response_c.get("ContentType") == "text/csv"
      assert response_c.get("ContentEncoding") is None
  
imports: import json
  import os
  import posixpath
  import tarfile
  from datetime import datetime
  from unittest import mock
  from unittest.mock import ANY
  import botocore.exceptions
  import pytest
  import requests
  from mlflow.entities.multipart_upload import MultipartUploadPart
  from mlflow.store.artifact.artifact_repository_registry import get_artifact_repository
  from mlflow.store.artifact.optimized_s3_artifact_repo import OptimizedS3ArtifactRepository
  from mlflow.store.artifact.s3_artifact_repo import _MAX_CACHE_SECONDS, S3ArtifactRepository, _cached_get_s3_client
  from tests.helper_functions import set_boto_credentials
label_desc: Use image node_id 11 for calling a global function with example usage: test_file_artifacts_are_logged_with_content_metadata_in_batch(s3_artifact_repo, s3_artifact_root, tmp_path) without return types