diff --git a/.changes/unreleased/Fixes-20240624-171729.yaml b/.changes/unreleased/Fixes-20240624-171729.yaml new file mode 100644 index 00000000000..f121ac5aa8b --- /dev/null +++ b/.changes/unreleased/Fixes-20240624-171729.yaml @@ -0,0 +1,6 @@ +kind: Fixes +body: Fix setting `silence` of `warn_error_options` via `dbt_project.yaml` flags +time: 2024-06-24T17:17:29.464865-07:00 +custom: + Author: QMalcolm + Issue: "10160" diff --git a/core/dbt/cli/flags.py b/core/dbt/cli/flags.py index 9d49d339543..709525894e7 100644 --- a/core/dbt/cli/flags.py +++ b/core/dbt/cli/flags.py @@ -55,6 +55,7 @@ def convert_config(config_name, config_value): ret = WarnErrorOptions( include=config_value.get("include", []), exclude=config_value.get("exclude", []), + silence=config_value.get("silence", []), valid_error_names=ALL_EVENT_NAMES, ) return ret diff --git a/tests/functional/configs/test_warn_error_options.py b/tests/functional/configs/test_warn_error_options.py index 2363fc469fd..fd4438ecfae 100644 --- a/tests/functional/configs/test_warn_error_options.py +++ b/tests/functional/configs/test_warn_error_options.py @@ -52,9 +52,8 @@ def test_can_silence(self, project, catcher: EventCatcher, runner: dbtRunner) -> assert_deprecation_warning(result, catcher) catcher.flush() - runner.invoke( - ["run", "--warn-error-options", "{'include': 'all', 'silence': ['DeprecatedModel']}"] - ) + result = runner.invoke(["run", "--warn-error-options", "{'silence': ['DeprecatedModel']}"]) + assert result.success assert len(catcher.caught_events) == 0 def test_can_raise_warning_to_error( @@ -130,13 +129,12 @@ def test_can_silence( result = runner.invoke(["run"]) assert_deprecation_warning(result, catcher) - silence_options = { - "flags": {"warn_error_options": {"include": "all", "silence": ["DeprecatedModel"]}} - } + silence_options = {"flags": {"warn_error_options": {"silence": ["DeprecatedModel"]}}} update_config_file(silence_options, project_root, "dbt_project.yml") catcher.flush() - runner.invoke(["run"]) + result = runner.invoke(["run"]) + assert result.success assert len(catcher.caught_events) == 0 def test_can_raise_warning_to_error(