1+ import calendar
12import logging
23import os
34import glob
@@ -57,7 +58,7 @@ def test_store_backfill_file(self, caplog):
5758
5859 self .cleanup ()
5960
60- def test_merge_backfill_file (self , caplog ):
61+ def test_merge_backfill_file (self , caplog , monkeypatch ):
6162 fn = "claims_hosp_202006.parquet"
6263 caplog .set_level (logging .INFO )
6364 logger = get_structured_logger ()
@@ -76,6 +77,7 @@ def test_merge_backfill_file(self, caplog):
7677 store_backfill_file (DATA_FILEPATH , dropdate , backfill_dir , logger )
7778
7879 today = datetime (2020 , 7 , 1 )
80+ monkeypatch .setattr (calendar , 'monthrange' , lambda x , y : (1 , 4 ))
7981 merge_backfill_file (backfill_dir , today , logger ,
8082 test_mode = True )
8183 assert "Merging files" in caplog .text
@@ -102,6 +104,29 @@ def test_merge_backfill_file(self, caplog):
102104
103105 self .cleanup ()
104106
107+ def test_merge_backfill_file_no_call (self , caplog ):
108+ fn = "claims_hosp_202006.parquet"
109+ caplog .set_level (logging .INFO )
110+ logger = get_structured_logger ()
111+
112+ # Check when there is no daily file to merge.
113+ today = datetime (2020 , 6 , 14 )
114+ merge_backfill_file (backfill_dir , today , logger ,
115+ test_mode = True )
116+ assert fn not in os .listdir (backfill_dir )
117+ assert "No new files to merge; skipping merging" in caplog .text
118+
119+ # Generate backfill daily files
120+ for d in range (11 , 15 ):
121+ dropdate = datetime (2020 , 6 , d )
122+ store_backfill_file (DATA_FILEPATH , dropdate , backfill_dir , logger )
123+
124+ today = datetime (2020 , 7 , 1 )
125+ merge_backfill_file (backfill_dir , today , logger ,
126+ test_mode = True )
127+ assert "Not enough days, skipping merging" in caplog .text
128+ self .cleanup ()
129+
105130 def test_merge_existing_backfill_files (self , caplog ):
106131 issue_date = datetime (year = 2020 , month = 6 , day = 13 )
107132 issue_date_str = issue_date .strftime ("%Y%m%d" )
@@ -164,8 +189,8 @@ def prep_backfill_data():
164189 file_to_add = store_backfill_file (DATA_FILEPATH , issue_date , backfill_dir , logger )
165190 merge_existing_backfill_files (backfill_dir , file_to_add , issue_date , logger )
166191 assert "Issue date has no matching merged files" in caplog .text
167-
168192 self .cleanup ()
169193
170194
171195
196+
0 commit comments