|
1 | | -{%- macro get_test_results(days_back = 7, invocations_per_test = 720, disable_passed_test_metrics = false, disable_samples = false) -%} |
2 | | - {{ return(adapter.dispatch('get_test_results', 'elementary_cli')(days_back, invocations_per_test, disable_passed_test_metrics, disable_samples)) }} |
| 1 | +{%- macro get_test_results(days_back = 7, invocations_per_test = 720, disable_passed_test_metrics = false, skip_test_result_rows = false) -%} |
| 2 | + {{ return(adapter.dispatch('get_test_results', 'elementary_cli')(days_back, invocations_per_test, disable_passed_test_metrics, skip_test_result_rows)) }} |
3 | 3 | {%- endmacro -%} |
4 | 4 |
|
5 | 5 | {# |
6 | 6 | Shared post-processing helper: filters tests by meta, attaches sample data. |
7 | 7 | Called by both default__ and fabric__ dispatches to avoid duplicating the |
8 | 8 | Jinja processing loop. |
9 | 9 | #} |
10 | | -{%- macro _process_raw_test_results(test_results_agate, test_result_rows_agate, elementary_tests_allowlist_status, disable_samples = false) -%} |
| 10 | +{%- macro _process_raw_test_results(test_results_agate, test_result_rows_agate, elementary_tests_allowlist_status, skip_test_result_rows = false) -%} |
11 | 11 | {% set test_results = [] %} |
12 | 12 | {% set tests = elementary.agate_to_dicts(test_results_agate) %} |
13 | 13 |
|
|
26 | 26 | {% set test_params = fromjson(test.test_params) %} |
27 | 27 | {% set status = test.status | lower %} |
28 | 28 |
|
29 | | - {%- if not disable_samples and ((test_type == 'dbt_test' and status in ['fail', 'warn']) or (test_type != 'dbt_test' and status in elementary_tests_allowlist_status)) -%} |
| 29 | + {%- if not skip_test_result_rows and ((test_type == 'dbt_test' and status in ['fail', 'warn']) or (test_type != 'dbt_test' and status in elementary_tests_allowlist_status)) -%} |
30 | 30 | {% set test_rows_sample = elementary_cli.get_test_rows_sample(test.result_rows, test_result_rows_agate.get(test.id)) %} |
31 | 31 | {%- endif -%} |
32 | 32 | {% else %} |
|
40 | 40 | {% do return(test_results) %} |
41 | 41 | {%- endmacro -%} |
42 | 42 |
|
43 | | -{%- macro default__get_test_results(days_back = 7, invocations_per_test = 720, disable_passed_test_metrics = false, disable_samples = false) -%} |
| 43 | +{%- macro default__get_test_results(days_back = 7, invocations_per_test = 720, disable_passed_test_metrics = false, skip_test_result_rows = false) -%} |
44 | 44 | {% set elementary_tests_allowlist_status = ['fail', 'warn'] if disable_passed_test_metrics else ['fail', 'warn', 'pass'] %} |
45 | 45 | {% set select_test_results %} |
46 | 46 | with test_results as ( |
47 | | - {{ elementary_cli.current_tests_run_results_query(days_back=days_back, disable_samples=disable_samples) }} |
| 47 | + {{ elementary_cli.current_tests_run_results_query(days_back=days_back, skip_test_result_rows=skip_test_result_rows) }} |
48 | 48 | ), |
49 | 49 |
|
50 | 50 | ordered_test_results as ( |
|
111 | 111 | {% endset %} |
112 | 112 |
|
113 | 113 | {% set test_results_agate = elementary.run_query(test_results_agate_sql) %} |
114 | | - {% if not disable_samples %} |
| 114 | + {% if not skip_test_result_rows %} |
115 | 115 | {% set test_result_rows_agate = elementary_cli.get_result_rows_agate(days_back, valid_ids_query) %} |
116 | 116 | {% else %} |
117 | 117 | {% set test_result_rows_agate = {} %} |
|
120 | 120 | {% do elementary.fully_drop_relation(ordered_test_results_relation) %} |
121 | 121 | {% endif %} |
122 | 122 |
|
123 | | - {% do return(elementary_cli._process_raw_test_results(test_results_agate, test_result_rows_agate, elementary_tests_allowlist_status, disable_samples)) %} |
| 123 | + {% do return(elementary_cli._process_raw_test_results(test_results_agate, test_result_rows_agate, elementary_tests_allowlist_status, skip_test_result_rows)) %} |
124 | 124 | {%- endmacro -%} |
125 | 125 |
|
126 | | -{%- macro fabric__get_test_results(days_back = 7, invocations_per_test = 720, disable_passed_test_metrics = false, disable_samples = false) -%} |
| 126 | +{%- macro fabric__get_test_results(days_back = 7, invocations_per_test = 720, disable_passed_test_metrics = false, skip_test_result_rows = false) -%} |
127 | 127 | {# |
128 | 128 | T-SQL does not allow nested CTEs (WITH inside WITH). |
129 | 129 | current_tests_run_results_query already starts with WITH, so we |
|
136 | 136 |
|
137 | 137 | {# Step 1 – materialise the base test-results query into a temp table #} |
138 | 138 | {% set base_query %} |
139 | | - {{ elementary_cli.current_tests_run_results_query(days_back=days_back, disable_samples=disable_samples) }} |
| 139 | + {{ elementary_cli.current_tests_run_results_query(days_back=days_back, skip_test_result_rows=skip_test_result_rows) }} |
140 | 140 | {% endset %} |
141 | 141 |
|
142 | 142 | {% set elementary_database, elementary_schema = elementary.get_package_database_and_schema() %} |
|
169 | 169 | {% endset %} |
170 | 170 |
|
171 | 171 | {% set test_results_agate = elementary.run_query(test_results_agate_sql) %} |
172 | | - {% if not disable_samples %} |
| 172 | + {% if not skip_test_result_rows %} |
173 | 173 | {% set test_result_rows_agate = elementary_cli.get_result_rows_agate(days_back, valid_ids_query) %} |
174 | 174 | {% else %} |
175 | 175 | {% set test_result_rows_agate = {} %} |
|
179 | 179 | {% do elementary.fully_drop_relation(base_relation) %} |
180 | 180 | {% do elementary.fully_drop_relation(ordered_relation) %} |
181 | 181 |
|
182 | | - {% do return(elementary_cli._process_raw_test_results(test_results_agate, test_result_rows_agate, elementary_tests_allowlist_status, disable_samples)) %} |
| 182 | + {% do return(elementary_cli._process_raw_test_results(test_results_agate, test_result_rows_agate, elementary_tests_allowlist_status, skip_test_result_rows)) %} |
183 | 183 | {%- endmacro -%} |
184 | 184 |
|
185 | | -{%- macro clickhouse__get_test_results(days_back = 7, invocations_per_test = 720, disable_passed_test_metrics = false, disable_samples = false) -%} |
| 185 | +{%- macro clickhouse__get_test_results(days_back = 7, invocations_per_test = 720, disable_passed_test_metrics = false, skip_test_result_rows = false) -%} |
186 | 186 | {% do elementary.run_query('drop table if exists ordered_test_results') %} |
187 | 187 | {% set create_table_query %} |
188 | 188 | CREATE TABLE ordered_test_results ( |
|
270 | 270 | {{ elementary.edr_datediff(elementary.edr_cast_as_timestamp('etr.detected_at'), elementary.edr_current_timestamp(), 'day') }} AS days_diff, |
271 | 271 | ROW_NUMBER() OVER (PARTITION BY elementary_unique_id ORDER BY etr.detected_at DESC) AS invocations_rank_index, |
272 | 272 | etr.failures, |
273 | | - {% if disable_samples %}''{% else %}etr.result_rows{% endif %} AS result_rows |
| 273 | + {% if skip_test_result_rows %}''{% else %}etr.result_rows{% endif %} AS result_rows |
274 | 274 | FROM {{ ref('elementary', 'elementary_test_results') }} etr |
275 | 275 | JOIN {{ ref('elementary', 'dbt_tests') }} dt ON etr.test_unique_id = dt.unique_id |
276 | 276 | LEFT JOIN ( |
|
310 | 310 | {% endset %} |
311 | 311 |
|
312 | 312 | {% set test_results_agate = elementary.run_query(test_results_agate_sql) %} |
313 | | - {% if not disable_samples %} |
| 313 | + {% if not skip_test_result_rows %} |
314 | 314 | {% set test_result_rows_agate = elementary_cli.get_result_rows_agate(days_back, valid_ids_query) %} |
315 | 315 | {% else %} |
316 | 316 | {% set test_result_rows_agate = {} %} |
|
319 | 319 | {% do elementary.fully_drop_relation(ordered_test_results_relation) %} |
320 | 320 | {% endif %} |
321 | 321 |
|
322 | | - {% do return(elementary_cli._process_raw_test_results(test_results_agate, test_result_rows_agate, elementary_tests_allowlist_status, disable_samples)) %} |
| 322 | + {% do return(elementary_cli._process_raw_test_results(test_results_agate, test_result_rows_agate, elementary_tests_allowlist_status, skip_test_result_rows)) %} |
323 | 323 | {%- endmacro -%} |
0 commit comments