code: def read_data(self, spark, params) -> DataFrame:
      return None
  
file_path: sagemaker-python-sdk/tests/unit/sagemaker/feature_store/feature_processor/lineage/test_constants.py
imports: from __future__ import absolute_import
  import datetime
  from typing import List, Sequence, Union
  from botocore.exceptions import ClientError
  from mock import Mock
  from pyspark.sql import DataFrame
  from sagemaker import Session
  from sagemaker.feature_store.feature_processor._data_source import CSVDataSource, FeatureGroupDataSource, ParquetDataSource, BaseDataSource
  from sagemaker.feature_store.feature_processor.lineage._feature_group_contexts import FeatureGroupContexts
  from sagemaker.feature_store.feature_processor.lineage._pipeline_schedule import PipelineSchedule
  from sagemaker.feature_store.feature_processor.lineage._pipeline_trigger import PipelineTrigger
  from sagemaker.feature_store.feature_processor.lineage._transformation_code import TransformationCode
  from sagemaker.lineage._api_types import ContextSource
  from sagemaker.lineage.artifact import Artifact, ArtifactSource, ArtifactSummary
  from sagemaker.lineage.context import Context
label_desc: Use image node_id 1 for calling the MockDataSource obj's underlying member method code with example usage: obj.read_data(spark, params) and returns: None