1010from sqlmesh .core .model import (
1111 IncrementalByTimeRangeKind ,
1212 Model ,
13- ModelKind ,
14- ModelKindName ,
13+ Seed ,
1514 SeedKind ,
15+ SeedModel ,
1616 SqlModel ,
1717 create_seed_model ,
1818 load_model ,
@@ -53,20 +53,6 @@ def model():
5353 )
5454
5555
56- @pytest .fixture
57- def full_refresh_model ():
58- return SqlModel (
59- name = "fr_model" ,
60- kind = ModelKind (name = ModelKindName .FULL ),
61- owner = "owner" ,
62- dialect = "spark" ,
63- cron = "1 0 * * *" ,
64- batch_size = 30 ,
65- start = "2020-01-01" ,
66- query = parse_one ("SELECT @EACH([1, 2], x -> x), ds FROM parent.tbl" ),
67- )
68-
69-
7056@pytest .fixture
7157def snapshot (
7258 model : Model ,
@@ -86,25 +72,6 @@ def snapshot(
8672 return snapshot
8773
8874
89- @pytest .fixture
90- def full_refresh_snapshot (
91- full_refresh_model : Model ,
92- parent_model : Model ,
93- monkeypatch : MonkeyPatch ,
94- mocker : MockerFixture ,
95- make_snapshot ,
96- ):
97- mock = mocker .Mock ()
98- mock .return_value = to_datetime ("2022-09-23T00:12:53+00:00" )
99- monkeypatch .setattr ("sqlmesh.utils.date.now" , mock )
100- full_refresh_snapshot = make_snapshot (
101- full_refresh_model ,
102- models = {parent_model .name : parent_model , full_refresh_model .name : full_refresh_model },
103- )
104- full_refresh_snapshot .version = full_refresh_snapshot .fingerprint
105- return full_refresh_snapshot
106-
107-
10875def test_json (snapshot : Snapshot ):
10976 assert json .loads (snapshot .json ()) == {
11077 "created_ts" : 1663891973000 ,
@@ -242,31 +209,22 @@ def test_missing_intervals(snapshot: Snapshot):
242209 ]
243210
244211
245- def test_missing_interval_latest (
246- full_refresh_snapshot : Snapshot , monkeypatch : MonkeyPatch , mocker : MockerFixture
247- ):
248- mock = mocker .Mock ()
249- mock .return_value = to_datetime ("2020-01-05T00:12:53+00:00" )
250- monkeypatch .setattr ("sqlmesh.core.snapshot.definition.now" , mock )
251- full_refresh_snapshot .add_interval ("2020-01-01" , "2020-01-01" )
252- assert full_refresh_snapshot .missing_intervals ("2020-01-01" , "2020-01-01" , "2020-01-01" ) == []
253- assert full_refresh_snapshot .missing_intervals ("2020-01-02" , "2020-01-02" , "2020-01-02" ) == [
254- (to_timestamp ("2020-01-02" ), to_timestamp ("2020-01-03" ))
255- ]
256- assert full_refresh_snapshot .missing_intervals ("2020-01-02" , "2020-01-03" , "2020-01-03" ) == [
257- (to_timestamp ("2020-01-03" ), to_timestamp ("2020-01-04" ))
258- ]
259- assert full_refresh_snapshot .missing_intervals ("2020-01-02" , "2020-01-03" , "2020-01-04" ) == [
260- (to_timestamp ("2020-01-04" ), to_timestamp ("2020-01-05" ))
212+ def test_seed_intervals (make_snapshot ):
213+ snapshot_a = make_snapshot (
214+ SeedModel (
215+ name = "a" ,
216+ kind = SeedKind (path = "./path/to/seed" ),
217+ seed = Seed (content = "content" ),
218+ depends_on = set (),
219+ )
220+ )
221+
222+ assert snapshot_a .missing_intervals ("2020-01-01" , "2020-01-01" ) == [
223+ (to_timestamp ("2020-01-01" ), to_timestamp ("2020-01-02" ))
261224 ]
262- assert full_refresh_snapshot .missing_intervals (
263- "2020-01-02" , "2020-01-03" , "2020-01-03 01:00:00"
264- ) == [(to_timestamp ("2020-01-02" ), to_timestamp ("2020-01-03" ))]
265- assert full_refresh_snapshot .missing_intervals (
266- "2020-01-02" , "2020-01-03" , "2020-01-04 23:59:59"
267- ) == [(to_timestamp ("2020-01-03" ), to_timestamp ("2020-01-04" ))]
268- assert full_refresh_snapshot .missing_intervals ("2020-01-02" , "2020-01-03" ) == [
269- (to_timestamp ("2020-01-04" ), to_timestamp ("2020-01-05" ))
225+ snapshot_a .add_interval ("2020-01-01" , "2020-01-01" )
226+ assert snapshot_a .missing_intervals ("2020-01-02" , "2020-01-02" ) == [
227+ (to_timestamp ("2020-01-02" ), to_timestamp ("2020-01-03" ))
270228 ]
271229
272230
0 commit comments