code: def test_tensorboard_fetcher_azure(
      require_secrets: bool, tmp_path: Path
  ) -> None:
      local_sync_dir = os.path.join(tmp_path, "sync_dir")
      storage_relpath = os.path.join(local_sync_dir, CONTAINER_NAME)
  
      # Create two paths as multi-trial sync could happen.
      paths_to_sync = [
          os.path.join("test_dir", str(uuid.uuid4()), "subdir")
          for _ in range(2)
      ]
  
      fetcher = get_tensorboard_fetcher_azure(
          require_secrets, local_sync_dir, paths_to_sync
      )
  
      def put_files(filepath_content: Dict[str, bytes]) -> None:
          for filepath, content in filepath_content.items():
              blob_client = fetcher.client.get_blob_client(
                  CONTAINER_NAME, filepath
              )
              blob_client.upload_blob(content, overwrite=True)
  
      def rm_files(filepaths: List[str]) -> None:
          for filepath in filepaths:
              blob_client = fetcher.client.get_blob_client(
                  CONTAINER_NAME, filepath
              )
              blob_client.delete_blob()
  
      util.run_tensorboard_fetcher_test(
          local_sync_dir, fetcher, storage_relpath, put_files, rm_files
      )
  
file_path: determined/harness/tests/storage/test_azure.py
imports: import io
  import os
  import tempfile
  import uuid
  from pathlib import Path
  from typing import Dict, List
  import pytest
  from determined.common import storage
  from determined.tensorboard.fetchers.azure import AzureFetcher
  from tests.storage import util
label_desc: Use image node_id 4 for calling a global function with example usage: test_tensorboard_fetcher_azure(require_secrets, tmp_path) without return types