Skip to content

Commit f1d5ccd

Browse files
committed
fix test
1 parent 7577c4d commit f1d5ccd

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

integrations/acquisition/covid_hosp/state_timeseries/test_scenarios.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def setUp(self):
4040
cur.execute('truncate table covid_hosp_state_timeseries')
4141
cur.execute('truncate table covid_hosp_meta')
4242

43-
@freeze_time("2021-03-16")
43+
@freeze_time("2021-03-17")
4444
def test_acquire_dataset(self):
4545
"""Acquire a new dataset."""
4646

@@ -90,18 +90,26 @@ def test_acquire_dataset(self):
9090
self.assertEqual(response['result'], 1)
9191
self.assertEqual(len(response['epidata']), 1)
9292

93-
with self.subTest(name='as_of checks'):
93+
# acquire new data into local database
94+
with self.subTest(name='first acquisition'):
9495
# acquire new data with 3/16 issue date
9596
mock_network.fetch_metadata.return_value = \
9697
self.test_utils.load_sample_metadata("metadata2.csv")
9798
mock_network.fetch_dataset.return_value = \
9899
self.test_utils.load_sample_dataset("dataset2.csv")
100+
acquired = Update.run(network=mock_network)
101+
self.assertTrue(acquired)
102+
103+
with self.subTest(name='as_of checks'):
104+
99105
response = Epidata.covid_hosp('WY', Epidata.range(20200101, 20210101))
100-
row = response['epidata'][0]
106+
self.assertEqual(len(response['epidata']), 2)
107+
row = response['epidata'][1]
101108
self.assertEqual(row['date'], 20200827)
102109

103110
# previous data should have 3/15 issue date
104111
response = Epidata.covid_hosp('WY', Epidata.range(20200101, 20210101), as_of=20210315)
112+
self.assertEqual(len(response['epidata']), 1)
105113
row = response['epidata'][0]
106114
self.assertEqual(row['date'], 20200826)
107115

src/server/endpoints/covid_hosp_state_timeseries.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,11 @@ def handle():
9595
if issues is not None:
9696
q.where_integers("issue", issues)
9797
# final query using specific issues
98-
query = f"WITH c as (SELECT {q.fields_clause}, ROW_NUMBER() OVER (PARTITION BY date, state, issue ORDER BY record_type) row FROM {q.table} WHERE {q.conditions_clause}) SELECT {q.fields_clause} FROM {q.alias} where row = 1 ORDER BY {q.order_clause}"
98+
query = f"WITH c as (SELECT {q.fields_clause}, ROW_NUMBER() OVER (PARTITION BY date, state, issue ORDER BY record_type) row FROM {q.table} WHERE {q.conditions_clause}) SELECT {q.fields_clause} FROM {q.alias} WHERE row = 1 ORDER BY {q.order_clause}"
9999
elif as_of is not None:
100100
sub_condition_asof = "(issue <= :as_of)"
101101
q.params["as_of"] = as_of
102-
query = f"WITH c as (SELECT {q.fields_clause}, ROW_NUMBER() OVER (PARTITION BY date, state, issue ORDER BY record_type) row FROM {q.table} WHERE {q.conditions_clause} and {sub_condition_asof}) SELECT {q.fields_clause} FROM {q.alias} where row = 1 ORDER BY {q.order_clause}"
102+
query = f"WITH c as (SELECT {q.fields_clause}, ROW_NUMBER() OVER (PARTITION BY date, state, issue ORDER BY record_type) row FROM {q.table} WHERE {q.conditions_clause} AND {sub_condition_asof}) SELECT {q.fields_clause} FROM {q.alias} WHERE row = 1 ORDER BY {q.order_clause}"
103103
else:
104104
# final query using most recent issues
105105
subquery = f"(SELECT max(`issue`) `max_issue`, `date`, `state` FROM {q.table} WHERE {q.conditions_clause} GROUP BY `date`, `state`) x"

0 commit comments

Comments
 (0)