code: def data_setup(request):
      task_type = request.param
      validation_blocks = None
      if task_type in ("binary", "complexity"):
          x, y = load_breast_cancer(return_X_y=True)
          task = Task(TaskTypesEnum.classification)
          data_type = DataTypesEnum.table
      elif task_type == "multiclass":
          x, y = load_wine(return_X_y=True)
          task = Task(TaskTypesEnum.classification)
          data_type = DataTypesEnum.table
      elif task_type == "regression":
          x, y = load_diabetes(return_X_y=True)
          task = Task(TaskTypesEnum.regression)
          data_type = DataTypesEnum.table
      elif task_type == "multitarget":
          x, y = load_linnerud(return_X_y=True)
          task = Task(TaskTypesEnum.regression)
          data_type = DataTypesEnum.table
      elif task_type == "ts":
          file_path = (
              fedot_project_root() / "test/data/short_time_series.csv"
          )
          df = pd.read_csv(file_path)
          x = y = df["sea_height"].to_numpy()
          task = Task(
              TaskTypesEnum.ts_forecasting,
              TsForecastingParams(forecast_length=10),
          )
          data_type = DataTypesEnum.ts
          validation_blocks = 2
      elif task_type == "multits":
          file_path = (
              fedot_project_root() / "test/data/short_time_series.csv"
          )
          df = pd.read_csv(file_path)
          x = df[["sea_height", "sea_height"]].to_numpy()
          y = df["sea_height"].to_numpy()
          task = Task(
              TaskTypesEnum.ts_forecasting,
              TsForecastingParams(forecast_length=10),
          )
          data_type = DataTypesEnum.multi_ts
          validation_blocks = 2
      else:
          raise ValueError(f"Unsupported task type: {task_type}")
  
      x, y = x[:200], y[:200]
  
      # Wrap data into InputData
      input_data = InputData(
          features=x,
          target=y,
          idx=np.arange(len(x)),
          task=task,
          data_type=data_type,
      )
      # Train test split
      train_data, test_data = train_test_data_setup(
          input_data, validation_blocks=validation_blocks
      )
      return train_data, test_data, task_type, validation_blocks
  
imports: import json
  import sys
  from itertools import product
  from typing import Callable, Dict, Tuple, Union
  import numpy
  import pandas
  import pytest
  from sklearn.datasets import load_breast_cancer, load_diabetes, load_linnerud, load_wine
  from fedot.core.composer.metrics import QualityMetric, ROCAUC
  from fedot.core.data.data import InputData, OutputData
  from fedot.core.data.data_split import train_test_data_setup
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.metrics_repository import ClassificationMetricsEnum, ComplexityMetricsEnum, MetricsRepository, RegressionMetricsEnum, TimeSeriesForecastingMetricsEnum
  from fedot.core.repository.tasks import Task, TaskTypesEnum, TsForecastingParams
  from fedot.core.utils import fedot_project_root, set_random_seed
label_desc: Use image node_id 1 for calling a global function with example usage: data_setup(request) and returns: train_data,  test_data,  task_type,  validation_blocks