code: def mock_validation_progress(
      requests_mock: Mocker, url: str, validation_search_task_id: str
  ):
      req_counter = RequestsCounter()
  
      def response(request, context):
          if req_counter.count == 0:
              req_counter.increment()
              return {
                  "currentStage": "CREATING_TRANSFORM",
                  "percent": 4.0,
              }
          elif req_counter.count == 1:
              req_counter.increment()
              return {
                  "currentStage": "ENRICHING",
                  "percent": 6.0,
              }
          else:
              req_counter.increment()
              return {
                  "currentStage": "DOWNLOADING",
                  "percent": 97.0,
              }
  
      requests_mock.get(
          f"{url}/public/api/v2/search/{validation_search_task_id}/progress",
          json=response,
      )
  
imports: import itertools
  import tempfile
  from random import randint
  from typing import Dict, List, Optional, Union
  import pandas
  from requests_mock import Mocker
  from upgini.metadata import ProviderTaskMetadataV2
label_desc: Use image node_id 12 for calling a global function with example usage: mock_validation_progress(requests_mock, url, validation_search_task_id) and returns: dict, dict, dict