Skip to content

Commit

Permalink
Fix for dbt_project.yml "tests" config resulting in incorrect state:m…
Browse files Browse the repository at this point in the history
…odified (#11166)
  • Loading branch information
gshank authored Dec 18, 2024
1 parent 88e953e commit bf18b59
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .changes/unreleased/Fixes-20241218-112640.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
kind: Fixes
body: Fix unrendered_config for tests from dbt_project.yml
time: 2024-12-18T11:26:40.270022-05:00
custom:
Author: gshank
Issue: "11146"
3 changes: 3 additions & 0 deletions core/dbt/config/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,9 @@ def load_raw_project(project_root: str) -> Dict[str, Any]:
if not isinstance(project_dict, dict):
raise DbtProjectError(f"{DBT_PROJECT_FILE_NAME} does not parse to a dictionary")

if "tests" in project_dict and "data_tests" not in project_dict:
project_dict["data_tests"] = project_dict.pop("tests")

return project_dict


Expand Down
45 changes: 45 additions & 0 deletions tests/functional/defer_state/test_unrendered_config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import pytest

from dbt.tests.util import run_dbt

dbt_project_update = """
models:
my_dbt_project:
+materialized: table
tests:
+store_failures: true
"""

foo_sql = """
select 1 as id
"""

schema_yml = """
models:
- name: foo
columns:
- name: id
tests:
- unique
"""


class TestGenericTestUnrenderedConfig:
@pytest.fixture(scope="class")
def project_config_update(self):
return dbt_project_update

@pytest.fixture(scope="class")
def models(self):
return {
"foo.sql": foo_sql,
"schema.yml": schema_yml,
}

def test_unrendered_config(self, project):
manifest = run_dbt(["parse"])
assert manifest
test_node_id = "test.test.unique_foo_id.fa8c520a2e"
test_node = manifest.nodes[test_node_id]
assert test_node.unrendered_config == {"store_failures": True}

0 comments on commit bf18b59

Please sign in to comment.