code: def test_features_enricher_with_diff_size_xy(requests_mock: Mocker):
      url = "http://fake_url2"
  
      mock_default_requests(requests_mock, url)
  
      path = os.path.join(
          os.path.dirname(os.path.realpath(__file__)),
          "test_data/binary/data.csv",
      )
      df = pd.read_csv(path, sep=",")
      train_df = df.head(10000)
      train_features = train_df.drop(columns="target")
      train_target = train_df["target"].to_frame()
      eval1_df = df[10000:11000].reset_index(drop=True)
      eval1_features = eval1_df.drop(columns="target")
      eval1_target = eval1_df["target"].to_frame()
  
      enricher = FeaturesEnricher(
          search_keys={
              "phone_num": SearchKey.PHONE,
              "rep_date": SearchKey.DATE,
          },
          endpoint=url,
          date_format="%Y-%m-%d",
          cv=CVType.time_series,
          logs_enabled=False,
      )
  
      with pytest.raises(
          ValidationError,
          match=bundle.get("x_and_y_diff_size").format(1000, 500),
      ):
          enricher.fit(
              train_features.head(1000), train_target.head(500)
          )
  
      with pytest.raises(
          ValidationError,
          match=bundle.get("x_and_y_diff_size_eval_set").format(
              1000, 500
          ),
      ):
          enricher.fit(
              train_features,
              train_target,
              [(eval1_features, eval1_target.head(500))],
          )
  
imports: import os
  from datetime import date
  from typing import List, Optional
  import numpy
  import pandas
  import pytest
  from pandas.testing import assert_frame_equal
  from requests_mock.mocker import Mocker
  from upgini import FeaturesEnricher, SearchKey
  from upgini.dataset import Dataset
  from upgini.errors import ValidationError
  from upgini.http import _RestClient
  from upgini.metadata import CVType, FeaturesMetadataV2, HitRateMetrics, ModelEvalSet, ModelTaskType, ProviderTaskMetadataV2, RuntimeParameters
  from upgini.resource_bundle import bundle
  from upgini.search_task import SearchTask
  from upgini.utils.datetime_utils import DateTimeSearchKeyConverter
  from .utils import mock_default_requests, mock_get_metadata, mock_get_task_metadata_v2, mock_initial_and_validation_summary, mock_initial_progress, mock_initial_search, mock_initial_summary, mock_raw_features, mock_validation_progress, mock_validation_raw_features, mock_validation_search, mock_validation_summary
label_desc: Use image node_id 7 for calling a global function with example usage: test_features_enricher_with_diff_size_xy(requests_mock) without return types