Skip to content

Commit 2ee7f15

Browse files
committed
fix(audits): pass macros to last audit in load_multiple_audits
Signed-off-by: Tyler Thomas <tylerjthomas9@gmail.com>
1 parent f6527ff commit 2ee7f15

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

‎sqlmesh/core/audit/definition.py‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,9 @@ def load_multiple_audits(
528528
yield load_audit(
529529
expressions=audit_block,
530530
path=path,
531+
module_path=module_path,
532+
macros=macros,
533+
jinja_macros=jinja_macros,
531534
dialect=dialect,
532535
default_catalog=default_catalog,
533536
variables=variables,

‎tests/core/test_audit.py‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,37 @@ def test_load_multiple(assert_exp_eq):
310310
)
311311

312312

313+
def test_load_multiple_standalone_with_macros():
314+
expressions = parse(
315+
"""
316+
AUDIT (
317+
name my_audit,
318+
standalone true,
319+
);
320+
321+
JINJA_STATEMENT_BEGIN;
322+
{{ test_jinja_macro() }}
323+
JINJA_END;
324+
325+
SELECT @test_macro() FROM db.table
326+
"""
327+
)
328+
329+
jinja_macros = JinjaMacroRegistry()
330+
jinja_macros.add_macros(
331+
MacroExtractor().extract("{% macro test_jinja_macro() %}{% endmacro %}")
332+
)
333+
334+
(audit,) = load_multiple_audits(
335+
expressions,
336+
macros={"test_macro": Executable(payload="def test_macro(evaluator):\n return 1")},
337+
jinja_macros=jinja_macros,
338+
)
339+
340+
assert "test_macro" in audit.python_env
341+
assert "test_jinja_macro" in audit.jinja_macros.root_macros
342+
343+
313344
def test_load_with_dictionary_defaults():
314345
expressions = parse(
315346
"""

0 commit comments

Comments
 (0)