@@ -702,18 +702,37 @@ def test_load_model_defaults_statements(tmp_path):
702702
703703 assert config .model_defaults .pre_statements is not None
704704 assert len (config .model_defaults .pre_statements ) == 2
705- assert isinstance (config .model_defaults .pre_statements [0 ], exp .Set )
706- assert isinstance (config .model_defaults .pre_statements [1 ], exp .Create )
705+ assert isinstance (exp . maybe_parse ( config .model_defaults .pre_statements [0 ]) , exp .Set )
706+ assert isinstance (exp . maybe_parse ( config .model_defaults .pre_statements [1 ]) , exp .Create )
707707
708708 assert config .model_defaults .post_statements is not None
709709 assert len (config .model_defaults .post_statements ) == 3
710- assert isinstance (config .model_defaults .post_statements [0 ], exp .Drop )
711- assert isinstance (config .model_defaults .post_statements [1 ], exp .Analyze )
712- assert isinstance (config .model_defaults .post_statements [2 ], exp .Set )
710+ assert isinstance (exp . maybe_parse ( config .model_defaults .post_statements [0 ]) , exp .Drop )
711+ assert isinstance (exp . maybe_parse ( config .model_defaults .post_statements [1 ]) , exp .Analyze )
712+ assert isinstance (exp . maybe_parse ( config .model_defaults .post_statements [2 ]) , exp .Set )
713713
714714 assert config .model_defaults .on_virtual_update is not None
715715 assert len (config .model_defaults .on_virtual_update ) == 1
716- assert isinstance (config .model_defaults .on_virtual_update [0 ], exp .Update )
716+ assert isinstance (exp .maybe_parse (config .model_defaults .on_virtual_update [0 ]), exp .Update )
717+
718+
719+ def test_load_model_defaults_validation_statements (tmp_path ):
720+ config_path = tmp_path / "config_model_defaults_statements_wrong.yaml"
721+ with open (config_path , "w" , encoding = "utf-8" ) as fd :
722+ fd .write (
723+ """
724+ model_defaults:
725+ dialect: duckdb
726+ pre_statements:
727+ - 313
728+ """
729+ )
730+
731+ with pytest .raises (TypeError , match = r"expected str instance, int found" ):
732+ config = load_config_from_paths (
733+ Config ,
734+ project_paths = [config_path ],
735+ )
717736
718737
719738def test_scheduler_config (tmp_path_factory ):
0 commit comments