code: def mock_raw_features(
      requests_mock: Mocker,
      url: str,
      search_task_id: str,
      path_to_mock_features: str,
      metrics_calculation=True,
  ):
      ads_search_task_features_id = random_id()
      api = (
          f"{url}/public/api/v2/search/rawfeatures/{search_task_id}"
          f"?metricsCalculation={str(metrics_calculation).lower()}"
      )
      requests_mock.get(
          api,
          json={
              "adsSearchTaskFeaturesDTO": [
                  {
                      "searchType": "INITIAL",
                      "adsSearchTaskFeaturesId": ads_search_task_features_id,
                  }
              ]
          },
      )
      with open(path_to_mock_features, "rb") as f:
          buffer = f.read()
          requests_mock.get(
              url
              + f"/public/api/v2/search/rawfeatures/{ads_search_task_features_id}/file",
              content=buffer,
          )
  
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 7 for calling a global function with example usage: mock_raw_features(requests_mock, url, search_task_id, path_to_mock_features, metrics_calculation) without return types