code: def test_random_composer(data_fixture, request):
      data = request.getfixturevalue(data_fixture)
      dataset_to_compose = data
      dataset_to_validate = data
  
      available_model_types = (
          OperationTypesRepository().suitable_operation(
              task_type=TaskTypesEnum.classification
          )
      )
      req = PipelineComposerRequirements(
          num_of_generations=3,
          primary=available_model_types,
          secondary=available_model_types,
      )
      objective = MetricsObjective(ClassificationMetricsEnum.ROCAUC)
      pipeline_generation_params = get_pipeline_generation_params(
          requirements=req
      )
  
      optimiser = RandomSearchOptimizer(
          objective,
          requirements=req,
          graph_generation_params=pipeline_generation_params,
      )
      random_composer = RandomSearchComposer(optimiser)
  
      opt_graph_random_composed = random_composer.compose_pipeline(
          data=dataset_to_compose
      )
      pipeline_random_composed = (
          pipeline_generation_params.adapter.restore(
              opt_graph_random_composed
          )
      )
      pipeline_random_composed.fit(input_data=dataset_to_compose)
      predicted_random_composed = pipeline_random_composed.predict(
          dataset_to_validate
      )
  
      roc_on_valid_random_composed = roc_auc(
          y_true=dataset_to_validate.target,
          y_score=predicted_random_composed.predict,
      )
  
      assert roc_on_valid_random_composed > 0.6
  
imports: import datetime
  from pathlib import Path
  import numpy
  import pandas
  import pytest
  from golem.core.optimisers.genetic.gp_params import GPAlgorithmParameters
  from golem.core.optimisers.genetic.operators.inheritance import GeneticSchemeTypesEnum
  from golem.core.optimisers.genetic.operators.selection import SelectionTypesEnum
  from golem.core.optimisers.random.random_search import RandomSearchOptimizer
  from sklearn.metrics import roc_auc_score
  from fedot import Fedot
  from fedot.core.caching.pipelines_cache import OperationsCache
  from fedot.core.composer.composer_builder import ComposerBuilder
  from fedot.core.composer.random_composer import RandomSearchComposer
  from fedot.core.data.data import InputData
  from fedot.core.optimisers.objective import PipelineObjectiveEvaluate
  from fedot.core.optimisers.objective.data_source_splitter import DataSourceSplitter
  from fedot.core.optimisers.objective.metrics_objective import MetricsObjective
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.pipelines.pipeline_composer_requirements import PipelineComposerRequirements
  from fedot.core.pipelines.pipeline_graph_generation_params import get_pipeline_generation_params
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.operation_types_repository import OperationTypesRepository, get_operations_for_task
  from fedot.core.repository.metrics_repository import ClassificationMetricsEnum, ComplexityMetricsEnum
  from fedot.core.repository.tasks import Task, TaskTypesEnum
  from fedot.core.utils import fedot_project_root, set_random_seed
  from test.unit.pipelines.test_pipeline_comparison import pipeline_first, pipeline_second
label_desc: Use image node_id 4 for calling a global function with example usage: test_random_composer(data_fixture, request) without return types