1
1
import glob
2
2
import time
3
+ from datetime import datetime
3
4
from unittest .mock import patch , MagicMock
4
5
import os
5
6
import pytest
12
13
pull_data_from_file ,
13
14
check_last_updated
14
15
)
15
- from delphi_nhsn .constants import TYPE_DICT , PRELIM_TYPE_DICT , PRELIM_DATASET_ID , MAIN_DATASET_ID
16
+ from delphi_nhsn .constants import TYPE_DICT , PRELIM_TYPE_DICT , PRELIM_DATASET_ID , MAIN_DATASET_ID , RECENTLY_UPDATED_DIFF
16
17
17
18
from delphi_utils import get_structured_logger
18
19
from conftest import TEST_DATA , PRELIM_TEST_DATA , TEST_DIR
@@ -158,7 +159,7 @@ def test_pull_nhsn_data_backup(self, mock_socrata, dataset, caplog, params):
158
159
159
160
160
161
@pytest .mark .parametrize ('dataset' , DATASETS , ids = ["data" , "prelim_data" ])
161
- @pytest .mark .parametrize ("updatedAt" , [time .time (), time .time () - 172800 ], ids = ["updated" , "stale" ])
162
+ @pytest .mark .parametrize ("updatedAt" , [time .time (), time .time () - 172800 , time . time () - 108000 ], ids = ["updated" , "stale" , "updated_late " ])
162
163
@patch ("delphi_nhsn.pull.Socrata" )
163
164
def test_check_last_updated (self , mock_socrata , dataset , updatedAt , caplog ):
164
165
mock_client = MagicMock ()
@@ -169,8 +170,9 @@ def test_check_last_updated(self, mock_socrata, dataset, updatedAt, caplog):
169
170
check_last_updated (mock_client , dataset ["id" ], logger )
170
171
171
172
# Check that get method was called with correct arguments
172
- now = time .time ()
173
- if now - updatedAt < 60 :
173
+ now_datetime = datetime .utcfromtimestamp (time .time ())
174
+ updatedAt_datetime = datetime .utcfromtimestamp (updatedAt )
175
+ if now_datetime - updatedAt_datetime < RECENTLY_UPDATED_DIFF :
174
176
assert f"{ dataset ['msg_prefix' ]} NHSN data was recently updated; Pulling data" in caplog .text
175
177
else :
176
178
stale_msg = f"{ dataset ['msg_prefix' ]} NHSN data is stale; Skipping"
0 commit comments