code: def test_wait_for_file_to_exist():
      import botocore
  
      s3 = mock.MagicMock()
      obj = mock.MagicMock()
      raise_error = [True, True, False]
  
      def fn(*_, **__):
          value = raise_error.pop(0)
          if value:
              raise botocore.exceptions.ClientError(
                  {"Error": {"Code": "404", "Message": "Not Found"}},
                  "HeadObject",
              )
          return
  
      s3.client.head_object = fn
  
      _wait_for_file_to_exist(s3, obj, sleep_time=0.01)
  
      assert len(raise_error) == 0
  
      def fn(*_, **__):
          raise ValueError("HERE")
  
      s3.client.head_object = fn
  
      with pytest.raises(ValueError, match="HERE"):
          _wait_for_file_to_exist(s3, obj, sleep_time=0.01)
  
imports: import os
  import random
  import sys
  from typing import Any, List
  from unittest import mock
  import lightning_cloud
  import numpy
  import pytest
  import torch
  from lightning import seed_everything
  from lightning.data.streaming import data_processor
  from lightning.data.streaming import functions
  from lightning.data.streaming.cache import Cache, Dir
  from lightning.data.streaming.data_processor import DataChunkRecipe, DataProcessor, DataTransformRecipe, _download_data_target, _get_item_filesizes, _map_items_to_workers_sequentially, _map_items_to_workers_weighted, _remove_target, _upload_fn, _wait_for_disk_usage_higher_than_threshold, _wait_for_file_to_exist
  from lightning.data.streaming.functions import LambdaDataTransformRecipe, map, optimize
  from lightning_cloud import resolver
  from lightning_utilities.core.imports import RequirementCache
label_desc: Use image node_id 6 for calling a global function with example usage: test_wait_for_file_to_exist() without return types