code: def test_spark_udf_signature_validator_udf_input_mismatch():
      fp_config = tdh.create_fp_config(
          inputs=[tdh.FEATURE_GROUP_DATA_SOURCE, tdh.S3_DATA_SOURCE]
      )
  
      def one_input(one, params, spark):
          return None
  
      def three_inputs(one, two, three, params, spark):
          return None
  
      exception_string = (
          r"feature_processor expected a function with \(2\) parameter\(s\) before any"
          r" optional 'params' or 'spark' parameters for the \(2\) requested data source\(s\)\."
      )
  
      with pytest.raises(ValueError, match=exception_string):
          SparkUDFSignatureValidator().validate(one_input, fp_config)
  
      with pytest.raises(ValueError, match=exception_string):
          SparkUDFSignatureValidator().validate(three_inputs, fp_config)
  
file_path: sagemaker-python-sdk/tests/unit/sagemaker/feature_store/feature_processor/test_validation.py
imports: from __future__ import absolute_import
  from typing import Callable
  from pyspark.sql import DataFrame
  import pytest
  import test_data_helpers
  import string
  import random
  from mock import Mock
  from sagemaker.feature_store.feature_processor._validation import SparkUDFSignatureValidator, Validator, ValidatorChain, BaseDataSourceValidator
  from sagemaker.feature_store.feature_processor._data_source import BaseDataSource
label_desc: Use image node_id 4 for calling a global function with example usage: test_spark_udf_signature_validator_udf_input_mismatch() and returns: None, None