diff --git a/core/dbt/artifacts/resources/v1/config.py b/core/dbt/artifacts/resources/v1/config.py index d58d2ff4c5d..f608a7141a9 100644 --- a/core/dbt/artifacts/resources/v1/config.py +++ b/core/dbt/artifacts/resources/v1/config.py @@ -171,6 +171,7 @@ class TestConfig(NodeAndTestConfig): severity: Annotated[Severity, Pattern(SEVERITY_PATTERN)] = Severity("ERROR") store_failures: Optional[bool] = None store_failures_as: Optional[str] = None + sql_header: Optional[str] = None where: Optional[str] = None limit: Optional[int] = None fail_calc: str = "count(*)" @@ -237,6 +238,7 @@ def same_contents(cls, unrendered: Dict[str, Any], other: Dict[str, Any]) -> boo "error_if", "store_failures", "store_failures_as", + "sql_header", ] seen = set() diff --git a/core/dbt/parser/generic_test_builders.py b/core/dbt/parser/generic_test_builders.py index bc9d75fc3c5..c6fdf0d8c84 100644 --- a/core/dbt/parser/generic_test_builders.py +++ b/core/dbt/parser/generic_test_builders.py @@ -102,6 +102,7 @@ class TestBuilder(Generic[Testable]): "fail_calc", "store_failures", "store_failures_as", + "sql_header", "meta", "database", "schema", @@ -248,6 +249,10 @@ def store_failures(self) -> Optional[bool]: def store_failures_as(self) -> Optional[bool]: return self.config.get("store_failures_as") + @property + def sql_header(self) -> Optional[str]: + return self.config.get("sql_header") + @property def where(self) -> Optional[str]: return self.config.get("where") @@ -302,6 +307,8 @@ def get_static_config(self): config["store_failures"] = self.store_failures if self.store_failures_as is not None: config["store_failures_as"] = self.store_failures_as + if self.sql_header is not None: + config["sql_header"] = self.sql_header if self.meta is not None: config["meta"] = self.meta if self.database is not None: