1
+ import calendar
1
2
import logging
2
3
import os
3
4
import glob
@@ -57,7 +58,7 @@ def test_store_backfill_file(self, caplog):
57
58
58
59
self .cleanup ()
59
60
60
- def test_merge_backfill_file (self , caplog ):
61
+ def test_merge_backfill_file (self , caplog , monkeypatch ):
61
62
fn = "claims_hosp_202006.parquet"
62
63
caplog .set_level (logging .INFO )
63
64
logger = get_structured_logger ()
@@ -76,6 +77,7 @@ def test_merge_backfill_file(self, caplog):
76
77
store_backfill_file (DATA_FILEPATH , dropdate , backfill_dir , logger )
77
78
78
79
today = datetime (2020 , 7 , 1 )
80
+ monkeypatch .setattr (calendar , 'monthrange' , lambda x , y : (1 , 4 ))
79
81
merge_backfill_file (backfill_dir , today , logger ,
80
82
test_mode = True )
81
83
assert "Merging files" in caplog .text
@@ -102,6 +104,29 @@ def test_merge_backfill_file(self, caplog):
102
104
103
105
self .cleanup ()
104
106
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
+
105
130
def test_merge_existing_backfill_files (self , caplog ):
106
131
issue_date = datetime (year = 2020 , month = 6 , day = 13 )
107
132
issue_date_str = issue_date .strftime ("%Y%m%d" )
@@ -164,8 +189,8 @@ def prep_backfill_data():
164
189
file_to_add = store_backfill_file (DATA_FILEPATH , issue_date , backfill_dir , logger )
165
190
merge_existing_backfill_files (backfill_dir , file_to_add , issue_date , logger )
166
191
assert "Issue date has no matching merged files" in caplog .text
167
-
168
192
self .cleanup ()
169
193
170
194
171
195
196
+
0 commit comments