def METHOD_NAME(
    require_secrets: bool, tmp_path: Path, prep_gcs_test_creds: None
) -> None:
    local_sync_dir = os.path.join(tmp_path, "sync_dir")
    storage_relpath = os.path.join(local_sync_dir, BUCKET_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_gcs(require_secrets, local_sync_dir, paths_to_sync)
    def put_files(filepath_content: Dict[str, bytes]) -> None:
        for filepath, content in filepath_content.items():
            fetcher.client.bucket(BUCKET_NAME).blob(filepath).upload_from_string(content)
    def rm_files(filepaths: List[str]) -> None:
        for filepath in filepaths:
            fetcher.client.bucket(BUCKET_NAME).blob(filepath).delete()
    util.run_tensorboard_fetcher_test(local_sync_dir, fetcher, storage_relpath, put_files, rm_files)