From 8cb0c8a98e7d11efeeba5fc11494f7a64a19cae7 Mon Sep 17 00:00:00 2001 From: Jensen Yap Date: Tue, 29 Jul 2025 23:12:19 +0900 Subject: [PATCH] revert test_udfs to fix schema error. --- tests/generic/test_udf.sql | 39 ++++++-------------------------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/tests/generic/test_udf.sql b/tests/generic/test_udf.sql index 2754fb5..bad4bf8 100644 --- a/tests/generic/test_udf.sql +++ b/tests/generic/test_udf.sql @@ -1,39 +1,12 @@ {% test test_udf(model, column_name, args, assertions) %} {# This is a generic test for UDFs. - The udfs are deployed using ephemeral models, as of dbt-core > 1.8 - we need to use `this.identifier` to extract the schema from for base_test_udf(). + The udfs are deployed using ephemeral models, so we need to + use the ephemeral model name to get the udf name. #} - - {% set schema = none %} - - {% if execute %} - {# Extract schema based on standard pattern `test___ #} - {% set test_identifier = this.identifier %} - - {% if test_identifier.startswith('test_') %} - {% set test_identifier = test_identifier[5:] %} - {% endif %} - - {# Handle schemas with underscore prefix #} - {% if test_identifier.startswith('_') %} - {# For identifiers like _utils_ #} - {% set parts = test_identifier.split('_') %} - {% if parts | length > 2 %} - {% set schema = '_' ~ parts[1] %} - {% else %} - {% set schema = parts[0] %} - {% endif %} - {% else %} - {# For identifiers without underscore prefix #} - {% set parts = test_identifier.split('_') %} - {% if parts | length > 0 %} - {% set schema = parts[0] %} - {% endif %} - {% endif %} - {% endif %} - - {% set udf = schema ~ "." ~ column_name %} + {%- set schema = model | replace("__dbt__cte__", "") -%} + {%- set schema = schema.split("__") | first -%} + {%- set udf = schema ~ "." ~ column_name -%} {{ base_test_udf(model, udf, args, assertions) }} -{% endtest %} \ No newline at end of file +{% endtest %}