code: def test_upload_thread_normal_case() -> None:
      upload_function = mock.Mock()
      upload_thread = tensorboard.base._TensorboardUploadThread(
          upload_function
      )
  
      upload_thread.start()
  
      path_info_list_1 = []
      path_info_list_2 = []
      path_info_list_1.append(
          tensorboard.base.PathUploadInfo(
              path=pathlib.Path("test_value/file1.json"),
              mangled_relative_path=pathlib.Path(
                  "test_value/file1#1.json"
              ),
          )
      )
      path_info_list_2.append(
          tensorboard.base.PathUploadInfo(
              path=pathlib.Path("test_value/file2.json"),
              mangled_relative_path=pathlib.Path(
                  "test_value/file2#1.json"
              ),
          )
      )
  
      upload_thread.upload(path_info_list_1)
      upload_thread.upload(path_info_list_2)
  
      upload_thread.close()
  
      assert upload_function.call_count == 2
  
file_path: determined/harness/tests/tensorboard/test_base.py
imports: import pathlib
  from unittest import mock
  import pytest
  from determined import tensorboard
  from tests.tensorboard import test_util
label_desc: Use image node_id 8 for calling a global function with example usage: test_upload_thread_normal_case() without return types