Skip to content

Commit 32d6df7

Browse files
committed
changed logic to throw error
1 parent df4d1dd commit 32d6df7

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

nhsn/delphi_nhsn/pull.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ def check_last_updated(socrata_token, dataset_id, logger):
3333
-------
3434
3535
"""
36-
recently_updated_source = True
3736
try:
3837
client = Socrata("data.cdc.gov", socrata_token)
3938
response = client.get_metadata(dataset_id)
@@ -49,10 +48,12 @@ def check_last_updated(socrata_token, dataset_id, logger):
4948
)
5049
else:
5150
logger.info(f"{prelim_prefix}NHSN data is stale; Skipping", updated_timestamp=updated_timestamp)
51+
return recently_updated_source
5252
# pylint: disable=W0703
5353
except Exception as e:
54-
logger.info("error while processing socrata metadata; treating data as stale", error=str(e))
55-
return recently_updated_source
54+
logger.info("error while processing socrata metadata", error=str(e))
55+
raise e
56+
5657

5758

5859
def pull_data(socrata_token: str, dataset_id: str, backup_dir: str, logger):

nhsn/tests/test_pull.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,18 @@ def test_check_last_updated(self, mock_socrata, dataset, updatedAt, caplog):
176176
stale_msg = f"{dataset['msg_prefix']}NHSN data is stale; Skipping"
177177
assert stale_msg in caplog.text
178178

179+
180+
181+
@patch("delphi_nhsn.pull.Socrata")
182+
@pytest.mark.parametrize('dataset', DATASETS, ids=["data", "prelim_data"])
183+
def test_check_last_updated_error(self, mock_socrata, dataset, caplog):
184+
mock_client = MagicMock()
185+
mock_socrata.return_value = mock_client
186+
updatedAt = time.time()
187+
mock_client.get_metadata.return_value = {"rowsUpdatedAt": updatedAt }
188+
logger = get_structured_logger()
189+
190+
with pytest.raises(KeyError):
191+
check_last_updated(mock_client, dataset["id"], logger)
192+
assert "error while processing socrata metadata" in caplog.text
193+

0 commit comments

Comments
 (0)