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) (#11169)

(cherry picked from commit bf18b59)

Co-authored-by: Gerda Shank <[email protected]>
  • Loading branch information
github-actions[bot] and gshank authored Dec 19, 2024
1 parent 396fbe5 commit 6a9e35a
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 6a9e35a

Please sign in to comment.