From 96e7854d1bb20d8790f687761ed9d743f28320c4 Mon Sep 17 00:00:00 2001 From: Quigley Malcolm Date: Thu, 17 Oct 2024 09:22:11 -0700 Subject: [PATCH] Assert that incremental strategy validation raises correct error message --- .../tests/adapter/basic/test_incremental.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/dbt-tests-adapter/dbt/tests/adapter/basic/test_incremental.py b/dbt-tests-adapter/dbt/tests/adapter/basic/test_incremental.py index af0584b8..57cc4db9 100644 --- a/dbt-tests-adapter/dbt/tests/adapter/basic/test_incremental.py +++ b/dbt-tests-adapter/dbt/tests/adapter/basic/test_incremental.py @@ -95,12 +95,22 @@ def project_config_update(self): def models(self): return { "incremental.sql": files.incremental_invalid_strategy_sql, + "schema.yml": files.schema_base_yml, } @pytest.fixture(scope="class") def seeds(self): return {"base.csv": files.seeds_base_csv, "added.csv": files.seeds_added_csv} + @pytest.fixture(autouse=True) + def clean_up(self, project): + yield + with project.adapter.connection_named("__test"): + relation = project.adapter.Relation.create( + database=project.database, schema=project.test_schema + ) + project.adapter.drop_schema(relation) + def test_incremental_invalid_strategy(self, project): # seed command results = run_dbt(["seed"]) @@ -108,6 +118,11 @@ def test_incremental_invalid_strategy(self, project): # try to run the incremental model, it should fail on the first attempt results = run_dbt(["run"], expect_pass=False) + assert len(results.results) == 1 + assert ( + 'dbt could not find an incremental strategy macro with the name "get_incremental_bad_strategy_sql"' + in results.results[0].message + ) class Testincremental(BaseIncremental): @@ -116,7 +131,3 @@ class Testincremental(BaseIncremental): class TestBaseIncrementalNotSchemaChange(BaseIncrementalNotSchemaChange): pass - - -class TestBaseIncrementalBadStrategy(BaseIncrementalBadStrategy): - pass