@@ -1996,6 +1996,47 @@ def test_unrestorable_snapshot(state_sync: EngineAdapterStateSync, make_snapshot
1996
1996
assert not actual_snapshots [new_forward_only_snapshot .snapshot_id ].unrestorable
1997
1997
1998
1998
1999
+ def test_unrestorable_snapshot_target_not_forward_only (
2000
+ state_sync : EngineAdapterStateSync , make_snapshot : t .Callable
2001
+ ):
2002
+ snapshot = make_snapshot (
2003
+ SqlModel (
2004
+ name = "test_snapshot" ,
2005
+ query = parse_one ("select 1, ds" ),
2006
+ cron = "@daily" ,
2007
+ ),
2008
+ )
2009
+ snapshot .categorize_as (SnapshotChangeCategory .BREAKING , forward_only = True )
2010
+ snapshot .version = "a"
2011
+
2012
+ assert not snapshot .unpaused_ts
2013
+ state_sync .push_snapshots ([snapshot ])
2014
+
2015
+ unpaused_dt = "2022-01-01"
2016
+ state_sync .unpause_snapshots ([snapshot ], unpaused_dt )
2017
+
2018
+ actual_snapshot = state_sync .get_snapshots ([snapshot ])[snapshot .snapshot_id ]
2019
+ assert actual_snapshot .unpaused_ts
2020
+ assert actual_snapshot .unpaused_ts == to_timestamp (unpaused_dt )
2021
+
2022
+ updated_snapshot = make_snapshot (
2023
+ SqlModel (name = "test_snapshot" , query = parse_one ("select 2, ds" ), cron = "@daily" )
2024
+ )
2025
+ updated_snapshot .categorize_as (SnapshotChangeCategory .BREAKING , forward_only = False )
2026
+ updated_snapshot .version = "a"
2027
+
2028
+ assert not updated_snapshot .unpaused_ts
2029
+ state_sync .push_snapshots ([updated_snapshot ])
2030
+ state_sync .unpause_snapshots ([updated_snapshot ], unpaused_dt )
2031
+
2032
+ actual_snapshots = state_sync .get_snapshots ([snapshot , updated_snapshot ])
2033
+ assert not actual_snapshots [snapshot .snapshot_id ].unpaused_ts
2034
+ assert actual_snapshots [updated_snapshot .snapshot_id ].unpaused_ts == to_timestamp (unpaused_dt )
2035
+
2036
+ assert actual_snapshots [snapshot .snapshot_id ].unrestorable
2037
+ assert not actual_snapshots [updated_snapshot .snapshot_id ].unrestorable
2038
+
2039
+
1999
2040
def test_unpause_snapshots_remove_intervals (
2000
2041
state_sync : EngineAdapterStateSync , make_snapshot : t .Callable
2001
2042
):
0 commit comments