@@ -438,12 +438,23 @@ def create_and_cleanup(name: str, dev_table_only: bool):
438438 return snapshot
439439
440440 snapshot = create_and_cleanup ("catalog.test_schema.test_model" , True )
441+ adapter_mock .get_data_object .assert_called_once_with (
442+ f"catalog.sqlmesh__test_schema.test_schema__test_model__{ snapshot .fingerprint .to_version ()} __dev"
443+ )
441444 adapter_mock .drop_table .assert_called_once_with (
442445 f"catalog.sqlmesh__test_schema.test_schema__test_model__{ snapshot .fingerprint .to_version ()} __dev"
443446 )
444447 adapter_mock .reset_mock ()
445448
446449 snapshot = create_and_cleanup ("test_schema.test_model" , False )
450+ adapter_mock .get_data_object .assert_has_calls (
451+ [
452+ call (
453+ f"sqlmesh__test_schema.test_schema__test_model__{ snapshot .fingerprint .to_version ()} __dev"
454+ ),
455+ call (f"sqlmesh__test_schema.test_schema__test_model__{ snapshot .version } " ),
456+ ]
457+ )
447458 adapter_mock .drop_table .assert_has_calls (
448459 [
449460 call (
@@ -455,6 +466,12 @@ def create_and_cleanup(name: str, dev_table_only: bool):
455466 adapter_mock .reset_mock ()
456467
457468 snapshot = create_and_cleanup ("test_model" , False )
469+ adapter_mock .get_data_object .assert_has_calls (
470+ [
471+ call (f"sqlmesh__default.test_model__{ snapshot .fingerprint .to_version ()} __dev" ),
472+ call (f"sqlmesh__default.test_model__{ snapshot .version } " ),
473+ ]
474+ )
458475 adapter_mock .drop_table .assert_has_calls (
459476 [
460477 call (f"sqlmesh__default.test_model__{ snapshot .fingerprint .to_version ()} __dev" ),
@@ -463,6 +480,31 @@ def create_and_cleanup(name: str, dev_table_only: bool):
463480 )
464481
465482
483+ def test_cleanup_skip_missing_table (adapter_mock , make_snapshot ):
484+ adapter_mock .get_data_object .return_value = None
485+
486+ evaluator = SnapshotEvaluator (adapter_mock )
487+
488+ model = SqlModel (
489+ name = "catalog.test_schema.test_model" ,
490+ kind = IncrementalByTimeRangeKind (time_column = "a" ),
491+ storage_format = "parquet" ,
492+ query = parse_one ("SELECT a FROM tbl WHERE ds BETWEEN @start_ds and @end_ds" ),
493+ )
494+
495+ snapshot = make_snapshot (model )
496+ snapshot .categorize_as (SnapshotChangeCategory .BREAKING , forward_only = True )
497+ snapshot .version = "test_version"
498+
499+ evaluator .promote ([snapshot ], EnvironmentNamingInfo (name = "test_env" ))
500+ evaluator .cleanup ([SnapshotTableCleanupTask (snapshot = snapshot .table_info , dev_table_only = True )])
501+
502+ adapter_mock .get_data_object .assert_called_once_with (
503+ f"catalog.sqlmesh__test_schema.test_schema__test_model__{ snapshot .fingerprint .to_version ()} __dev"
504+ )
505+ adapter_mock .drop_table .assert_not_called ()
506+
507+
466508def test_cleanup_external_model (mocker : MockerFixture , adapter_mock , make_snapshot ):
467509 evaluator = SnapshotEvaluator (adapter_mock )
468510
0 commit comments