Skip to content

Commit 3347837

Browse files
committed
Fix snapshot evaluator tests
1 parent 2bbbe75 commit 3347837

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

sqlmesh/core/engine_adapter/snowflake.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ def _create_table(
187187
table_description=table_description,
188188
column_descriptions=column_descriptions,
189189
table_kind=table_kind,
190-
track_rows_processed=False,
190+
track_rows_processed=False, # snowflake tracks CTAS row counts incorrectly
191191
**kwargs,
192192
)
193193

tests/core/test_snapshot_evaluator.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ def mock_exit(self, exc_type, exc_value, traceback):
115115
adapter_mock.HAS_VIEW_BINDING = False
116116
adapter_mock.wap_supported.return_value = False
117117
adapter_mock.get_data_objects.return_value = []
118+
adapter_mock.with_settings.return_value = adapter_mock
118119
return adapter_mock
119120

120121

@@ -137,6 +138,7 @@ def adapters(mocker: MockerFixture):
137138
adapter_mock.HAS_VIEW_BINDING = False
138139
adapter_mock.wap_supported.return_value = False
139140
adapter_mock.get_data_objects.return_value = []
141+
adapter_mock.with_settings.return_value = adapter_mock
140142
adapters.append(adapter_mock)
141143
return adapters
142144

@@ -652,6 +654,7 @@ def test_evaluate_materialized_view_with_partitioned_by_cluster_by(
652654
adapter.table_exists = lambda *args, **kwargs: False # type: ignore
653655
adapter.get_data_objects = lambda *args, **kwargs: [] # type: ignore
654656
adapter._execute = execute_mock # type: ignore
657+
adapter.with_settings = lambda **kwargs: adapter # type: ignore
655658
evaluator = SnapshotEvaluator(adapter)
656659

657660
model = SqlModel(
@@ -992,6 +995,7 @@ def test_create_tables_exist(
992995
):
993996
adapter_mock = mocker.patch("sqlmesh.core.engine_adapter.EngineAdapter")
994997
adapter_mock.dialect = "duckdb"
998+
adapter_mock.with_settings.return_value = adapter_mock
995999

9961000
evaluator = SnapshotEvaluator(adapter_mock)
9971001
snapshot.categorize_as(category=snapshot_category, forward_only=forward_only)
@@ -1194,6 +1198,7 @@ def test_create_view_with_properties(mocker: MockerFixture, adapter_mock, make_s
11941198
def test_promote_model_info(mocker: MockerFixture, make_snapshot):
11951199
adapter_mock = mocker.patch("sqlmesh.core.engine_adapter.EngineAdapter")
11961200
adapter_mock.dialect = "duckdb"
1201+
adapter_mock.with_settings.return_value = adapter_mock
11971202

11981203
evaluator = SnapshotEvaluator(adapter_mock)
11991204

@@ -1222,6 +1227,7 @@ def test_promote_model_info(mocker: MockerFixture, make_snapshot):
12221227
def test_promote_deployable(mocker: MockerFixture, make_snapshot):
12231228
adapter_mock = mocker.patch("sqlmesh.core.engine_adapter.EngineAdapter")
12241229
adapter_mock.dialect = "duckdb"
1230+
adapter_mock.with_settings.return_value = adapter_mock
12251231

12261232
evaluator = SnapshotEvaluator(adapter_mock)
12271233

@@ -1267,6 +1273,7 @@ def test_promote_deployable(mocker: MockerFixture, make_snapshot):
12671273

12681274
def test_migrate(mocker: MockerFixture, make_snapshot, make_mocked_engine_adapter):
12691275
adapter = make_mocked_engine_adapter(EngineAdapter)
1276+
adapter.with_settings = lambda **kwargs: adapter # type: ignore
12701277
session_spy = mocker.spy(adapter, "session")
12711278

12721279
current_table = "sqlmesh__test_schema.test_schema__test_model__1"
@@ -1322,6 +1329,7 @@ def columns(table_name):
13221329
def test_migrate_missing_table(mocker: MockerFixture, make_snapshot, make_mocked_engine_adapter):
13231330
adapter = make_mocked_engine_adapter(EngineAdapter)
13241331
adapter.table_exists = lambda _: False # type: ignore
1332+
adapter.with_settings = lambda **kwargs: adapter # type: ignore
13251333
mocker.patch.object(adapter, "get_data_object", return_value=None)
13261334

13271335
evaluator = SnapshotEvaluator(adapter)
@@ -1390,6 +1398,7 @@ def test_migrate_snapshot_data_object_type_mismatch(
13901398
make_mocked_engine_adapter,
13911399
):
13921400
adapter = make_mocked_engine_adapter(EngineAdapter)
1401+
adapter.with_settings = lambda **kwargs: adapter # type: ignore
13931402
mocker.patch.object(
13941403
adapter,
13951404
"get_data_object",
@@ -1804,7 +1813,7 @@ def test_on_destructive_change_runtime_check(
18041813
make_mocked_engine_adapter,
18051814
):
18061815
adapter = make_mocked_engine_adapter(EngineAdapter)
1807-
1816+
adapter.with_settings = lambda **kwargs: adapter # type: ignore
18081817
current_table = "sqlmesh__test_schema.test_schema__test_model__1"
18091818

18101819
def columns(table_name):
@@ -1886,7 +1895,7 @@ def test_on_additive_change_runtime_check(
18861895
make_mocked_engine_adapter,
18871896
):
18881897
adapter = make_mocked_engine_adapter(EngineAdapter)
1889-
1898+
adapter.with_settings = lambda **kwargs: adapter # type: ignore
18901899
current_table = "sqlmesh__test_schema.test_schema__test_model__1"
18911900

18921901
def columns(table_name):
@@ -3778,6 +3787,7 @@ def test_create_managed_forward_only_with_previous_version_doesnt_clone_for_dev_
37783787
def test_migrate_snapshot(snapshot: Snapshot, mocker: MockerFixture, adapter_mock, make_snapshot):
37793788
adapter_mock = mocker.patch("sqlmesh.core.engine_adapter.EngineAdapter")
37803789
adapter_mock.dialect = "duckdb"
3790+
adapter_mock.with_settings.return_value = adapter_mock
37813791

37823792
evaluator = SnapshotEvaluator(adapter_mock)
37833793
evaluator.create([snapshot], {})
@@ -3987,6 +3997,7 @@ def test_multiple_engine_promotion(mocker: MockerFixture, adapter_mock, make_sna
39873997
cursor_mock = mocker.Mock()
39883998
connection_mock.cursor.return_value = cursor_mock
39893999
adapter = EngineAdapter(lambda: connection_mock, "")
4000+
adapter.with_settings = lambda **kwargs: adapter # type: ignore
39904001
engine_adapters = {"default": adapter_mock, "secondary": adapter}
39914002

39924003
def columns(table_name):
@@ -4046,7 +4057,9 @@ def test_multiple_engine_migration(
40464057
mocker: MockerFixture, adapter_mock, make_snapshot, make_mocked_engine_adapter
40474058
):
40484059
adapter_one = make_mocked_engine_adapter(EngineAdapter)
4060+
adapter_one.with_settings = lambda **kwargs: adapter_one # type: ignore
40494061
adapter_two = adapter_mock
4062+
adapter_two.with_settings.return_value = adapter_two
40504063
engine_adapters = {"one": adapter_one, "two": adapter_two}
40514064

40524065
current_table = "sqlmesh__test_schema.test_schema__test_model__1"

0 commit comments

Comments
 (0)