From 9a3aaff13a7f37cc0da39679414ae289393a2a73 Mon Sep 17 00:00:00 2001 From: axellpadilla <68310020+axellpadilla@users.noreply.github.com> Date: Thu, 12 Mar 2026 22:49:16 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20add=20fixture=20and=20updat?= =?UTF-8?q?e=20secondary=20database=20cleaning=20for=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/functional/adapter/dbt/test_utils.py | 20 +++++++++++++++++-- .../functional/adapter/mssql/test_cross_db.py | 10 +++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/tests/functional/adapter/dbt/test_utils.py b/tests/functional/adapter/dbt/test_utils.py index 4d4587012..2feb5ee1a 100644 --- a/tests/functional/adapter/dbt/test_utils.py +++ b/tests/functional/adapter/dbt/test_utils.py @@ -1,5 +1,10 @@ import pytest -from dbt.tests.adapter.utils import fixture_cast_bool_to_text, fixture_dateadd, fixture_listagg +from dbt.tests.adapter.utils import ( + fixture_cast_bool_to_text, + fixture_dateadd, + fixture_listagg, + fixture_split_part, +) from dbt.tests.adapter.utils.test_any_value import BaseAnyValue from dbt.tests.adapter.utils.test_array_append import BaseArrayAppend from dbt.tests.adapter.utils.test_array_concat import BaseArrayConcat @@ -340,7 +345,18 @@ class TestSafeCast(BaseSafeCast): class TestSplitPart(BaseSplitPart): - pass + @pytest.fixture(scope="class") + def models(self): + model_sql = """ +-- depends_on: {{ ref('data_split_part') }} +""" + self.interpolate_macro_namespace( + fixture_split_part.models__test_split_part_sql, "split_part" + ) + + return { + "test_split_part.yml": fixture_split_part.models__test_split_part_yml, + "test_split_part.sql": model_sql, + } class TestStringLiteral(BaseStringLiteral): diff --git a/tests/functional/adapter/mssql/test_cross_db.py b/tests/functional/adapter/mssql/test_cross_db.py index 72802d6f6..8c4b91a2a 100644 --- a/tests/functional/adapter/mssql/test_cross_db.py +++ b/tests/functional/adapter/mssql/test_cross_db.py @@ -55,7 +55,15 @@ def create_secondary_db(self, project): ) def cleanup_secondary_database(self, project): - drop_sql = "DROP DATABASE IF EXISTS secondary_db" + drop_sql = """ + USE [master] + + IF EXISTS (SELECT * FROM sys.databases WHERE name = 'secondary_db') + BEGIN + ALTER DATABASE [secondary_db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE + DROP DATABASE [secondary_db] + END + """ with get_connection(project.adapter): project.adapter.execute( drop_sql.format(database=project.database),