def METHOD_NAME():
    fp_config = tdh.create_fp_config(inputs=[tdh.FEATURE_GROUP_DATA_SOURCE, tdh.S3_DATA_SOURCE])
    with pytest.raises(
        ValueError,
        match="feature_processor expected the 'params' parameter to be the last or second last"
        " parameter after input parameters.",
    ):
        def invalid_params_position(params, fg_data_source, s3_data_source):
            return None
        SparkUDFSignatureValidator().validate(invalid_params_position, fp_config)
    with pytest.raises(
        ValueError,
        match="feature_processor expected the 'spark' parameter to be the last or second last"
        " parameter after input parameters.",
    ):
        def invalid_spark_position(spark, fg_data_source, s3_data_source):
            return None
        SparkUDFSignatureValidator().validate(invalid_spark_position, fp_config)