@@ -2197,7 +2197,7 @@ def test_on_run_start_end():
21972197 runtime_stage = RuntimeStage .BEFORE_ALL ,
21982198 )
21992199
2200- rendered_after_all = render_statements (
2200+ runtime_rendered_after_all = render_statements (
22012201 root_environment_statements .after_all ,
22022202 dialect = sushi_context .default_dialect ,
22032203 python_env = root_environment_statements .python_env ,
@@ -2208,6 +2208,22 @@ def test_on_run_start_end():
22082208 engine_adapter = sushi_context .engine_adapter ,
22092209 )
22102210
2211+ # not passing engine adapter simulates "parse-time" rendering
2212+ parse_time_rendered_after_all = render_statements (
2213+ root_environment_statements .after_all ,
2214+ dialect = sushi_context .default_dialect ,
2215+ python_env = root_environment_statements .python_env ,
2216+ jinja_macros = root_environment_statements .jinja_macros ,
2217+ snapshots = sushi_context .snapshots ,
2218+ runtime_stage = RuntimeStage .AFTER_ALL ,
2219+ environment_naming_info = EnvironmentNamingInfo (name = "dev" ),
2220+ )
2221+
2222+ # validate that the graph_table statement is the same between parse-time and runtime rendering
2223+ assert sorted (parse_time_rendered_after_all ) == sorted (runtime_rendered_after_all )
2224+ graph_table_stmt = runtime_rendered_after_all [- 1 ]
2225+ assert graph_table_stmt == parse_time_rendered_after_all [- 1 ]
2226+
22112227 assert rendered_before_all == [
22122228 "CREATE TABLE IF NOT EXISTS analytic_stats (physical_table TEXT, evaluation_time TEXT)" ,
22132229 "CREATE TABLE IF NOT EXISTS to_be_executed_last (col TEXT)" ,
@@ -2220,10 +2236,9 @@ def test_on_run_start_end():
22202236 "CREATE OR REPLACE TABLE schema_table_sushi__dev AS SELECT 'sushi__dev' AS schema" ,
22212237 "DROP TABLE to_be_executed_last" ,
22222238 ]
2223- assert sorted (rendered_after_all [:- 1 ]) == sorted (expected_statements )
2239+ assert sorted (runtime_rendered_after_all [:- 1 ]) == sorted (expected_statements )
22242240
22252241 # Assert the models with their materialisations are present in the rendered graph_table statement
2226- graph_table_stmt = rendered_after_all [- 1 ]
22272242 assert "'model.sushi.simple_model_a' AS unique_id, 'table' AS materialized" in graph_table_stmt
22282243 assert "'model.sushi.waiters' AS unique_id, 'ephemeral' AS materialized" in graph_table_stmt
22292244 assert "'model.sushi.simple_model_b' AS unique_id, 'table' AS materialized" in graph_table_stmt
0 commit comments