code: def test_log_artifacts(mock_client, tmp_path):
      repo = AzureBlobArtifactRepository(TEST_URI, mock_client)
  
      parentd = tmp_path.joinpath("data")
      parentd.mkdir()
      subd = parentd.joinpath("subdir")
      subd.mkdir()
      a_txt = parentd.joinpath("a.txt")
      a_txt.write_text("A")
      b_txt = subd.joinpath("b.txt")
      b_txt.write_text("B")
      c_txt = subd.joinpath("c.txt")
      c_txt.write_text("C")
  
      repo.log_artifacts(parentd)
  
      mock_client.get_container_client.assert_called_with("container")
      call_list = (
          mock_client.get_container_client().upload_blob.call_args_list
      )
  
      # Ensure that the order of the calls do not matter
      for call in call_list:
          arg1, arg2 = call[0]
          assert arg1 in [
              posixpath.join(TEST_ROOT_PATH, x)
              for x in ["a.txt", "subdir/b.txt", "subdir/c.txt"]
          ]
          # arg2 should be a filebuffer
          if arg1.endswith("/a.txt"):
              assert arg2.name == str(a_txt)
          elif arg1.endswith("/b.txt"):
              assert arg2.name == str(b_txt)
          elif arg1.endswith("/c.txt"):
              assert arg2.name == str(c_txt)
          else:
              # This should be unreachable
              assert False
  
imports: import base64
  import os
  import posixpath
  from unittest import mock
  import pytest
  from azure.storage.blob import BlobPrefix, BlobProperties, BlobServiceClient
  from mlflow.entities.multipart_upload import MultipartUploadPart
  from mlflow.exceptions import MlflowException
  from mlflow.store.artifact.artifact_repository_registry import get_artifact_repository
  from mlflow.store.artifact.azure_blob_artifact_repo import AzureBlobArtifactRepository
label_desc: Use image node_id 10 for calling a global function with example usage: test_log_artifacts(mock_client, tmp_path) without return types