|
54 | 54 | SnapshotTableCleanupTask, |
55 | 55 | ) |
56 | 56 | from sqlmesh.core.snapshot.definition import to_view_mapping |
57 | | -from sqlmesh.core.snapshot.evaluator import CustomMaterialization |
| 57 | +from sqlmesh.core.snapshot.evaluator import CustomMaterialization, SnapshotCreationFailedError |
58 | 58 | from sqlmesh.utils.concurrency import NodeExecutionFailedError |
59 | 59 | from sqlmesh.utils.date import to_timestamp |
60 | 60 | from sqlmesh.utils.errors import ConfigError, SQLMeshError, DestructiveChangeError |
@@ -92,13 +92,16 @@ def date_kwargs() -> t.Dict[str, str]: |
92 | 92 |
|
93 | 93 | @pytest.fixture |
94 | 94 | def adapter_mock(mocker: MockerFixture): |
| 95 | + def mock_exit(self, exc_type, exc_value, traceback): |
| 96 | + pass |
| 97 | + |
95 | 98 | transaction_mock = mocker.Mock() |
96 | 99 | transaction_mock.__enter__ = mocker.Mock() |
97 | | - transaction_mock.__exit__ = mocker.Mock() |
| 100 | + transaction_mock.__exit__ = mock_exit |
98 | 101 |
|
99 | 102 | session_mock = mocker.Mock() |
100 | 103 | session_mock.__enter__ = mocker.Mock() |
101 | | - session_mock.__exit__ = mocker.Mock() |
| 104 | + session_mock.__exit__ = mock_exit |
102 | 105 |
|
103 | 106 | adapter_mock = mocker.Mock() |
104 | 107 | adapter_mock.transaction.return_value = transaction_mock |
@@ -1160,6 +1163,7 @@ def test_migrate(mocker: MockerFixture, make_snapshot): |
1160 | 1163 | cursor_mock = mocker.Mock() |
1161 | 1164 | connection_mock.cursor.return_value = cursor_mock |
1162 | 1165 | adapter = EngineAdapter(lambda: connection_mock, "") |
| 1166 | + session_spy = mocker.spy(adapter, "session") |
1163 | 1167 |
|
1164 | 1168 | current_table = "sqlmesh__test_schema.test_schema__test_model__1" |
1165 | 1169 |
|
@@ -1201,6 +1205,8 @@ def columns(table_name): |
1201 | 1205 | ] |
1202 | 1206 | ) |
1203 | 1207 |
|
| 1208 | + session_spy.assert_called_once() |
| 1209 | + |
1204 | 1210 |
|
1205 | 1211 | def test_migrate_missing_table(mocker: MockerFixture, make_snapshot): |
1206 | 1212 | connection_mock = mocker.NonCallableMock() |
@@ -1596,7 +1602,8 @@ def test_drop_clone_in_dev_when_migration_fails(mocker: MockerFixture, adapter_m |
1596 | 1602 | ), |
1597 | 1603 | ] |
1598 | 1604 |
|
1599 | | - evaluator.create([snapshot], {}) |
| 1605 | + with pytest.raises(SnapshotCreationFailedError): |
| 1606 | + evaluator.create([snapshot], {}) |
1600 | 1607 |
|
1601 | 1608 | adapter_mock.clone_table.assert_called_once_with( |
1602 | 1609 | f"sqlmesh__test_schema.test_schema__test_model__{snapshot.version}__dev", |
@@ -2537,7 +2544,9 @@ def test_create_seed_on_error(mocker: MockerFixture, adapter_mock, make_snapshot |
2537 | 2544 | snapshot.categorize_as(SnapshotChangeCategory.BREAKING) |
2538 | 2545 |
|
2539 | 2546 | evaluator = SnapshotEvaluator(adapter_mock) |
2540 | | - evaluator.create([snapshot], {}) |
| 2547 | + |
| 2548 | + with pytest.raises(SnapshotCreationFailedError): |
| 2549 | + evaluator.create([snapshot], {}) |
2541 | 2550 |
|
2542 | 2551 | adapter_mock.replace_query.assert_called_once_with( |
2543 | 2552 | f"sqlmesh__db.db__seed__{snapshot.version}", |
|
0 commit comments