Skip to content

Commit 17bcb21

Browse files
authored
Merge pull request #983 from cmu-delphi/gs-type-update
Switch Google Symptoms to expect `datetime` format for export end date
2 parents 3f15ac6 + 7e558a2 commit 17bcb21

File tree

3 files changed

+16
-36
lines changed

3 files changed

+16
-36
lines changed

google_symptoms/delphi_google_symptoms/pull.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,10 @@ def get_date_range(export_start_date, export_end_date, num_export_days):
120120
# Get all dates since export_start_date.
121121
start_date = export_start_date
122122
else:
123-
# Don't fetch data before the user-set start date. Convert both
124-
# dates/datetimes to date to avoid error from trying to compare
125-
# different types.
123+
# Don't fetch data before the user-set start date.
126124
start_date = max(
127125
export_end_date - timedelta(days=num_export_days),
128-
export_start_date.date()
126+
export_start_date
129127
)
130128

131129
retrieve_dates = [

google_symptoms/tests/conftest.py

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,6 @@
5151
good_input["county"], parse_dates=["date"])[keep_cols]
5252

5353

54-
# Set up fake list of dates to fetch.
55-
dates = [
56-
"20200726",
57-
"20200811"
58-
]
59-
60-
date_list = [datetime.strptime(date, "%Y%m%d").date() for date in dates]
61-
62-
6354
@pytest.fixture(scope="session")
6455
def run_as_module():
6556
params = {
@@ -81,10 +72,8 @@ def run_as_module():
8172
else:
8273
makedirs("receiving")
8374

84-
with mock.patch("delphi_google_symptoms.pull.get_date_range",
85-
return_value=date_list) as mock_all_dates:
86-
with mock.patch("delphi_google_symptoms.pull.initialize_credentials",
87-
return_value=None) as mock_credentials:
88-
with mock.patch("pandas_gbq.read_gbq", side_effect=[
89-
state_data, county_data]) as mock_read_gbq:
90-
delphi_google_symptoms.run.run_module(params)
75+
with mock.patch("delphi_google_symptoms.pull.initialize_credentials",
76+
return_value=None) as mock_credentials:
77+
with mock.patch("pandas_gbq.read_gbq", side_effect=[
78+
state_data, county_data]) as mock_read_gbq:
79+
delphi_google_symptoms.run.run_module(params)

google_symptoms/tests/test_pull.py

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,6 @@
2424
new_keep_cols = ["geo_id", "timestamp"] + METRICS + [COMBINED_METRIC]
2525

2626

27-
# Set up fake list of dates to fetch.
28-
dates = [
29-
"20200726",
30-
"20200811"
31-
]
32-
date_list = [datetime.strptime(date, "%Y%m%d").date() for date in dates]
33-
34-
3527
class TestPullGoogleSymptoms:
3628
@freeze_time("2021-01-05")
3729
@mock.patch("pandas_gbq.read_gbq")
@@ -47,8 +39,8 @@ def test_good_file(self, mock_credentials, mock_read_gbq):
4739
mock_read_gbq.side_effect = [state_data, county_data]
4840
mock_credentials.return_value = None
4941

50-
dfs = pull_gs_data(
51-
"", datetime.strptime("20201230", "%Y%m%d"), date.today(), 0)
42+
dfs = pull_gs_data("", datetime.strptime(
43+
"20201230", "%Y%m%d"), datetime.combine(date.today(), datetime.min.time()), 0)
5244

5345
for level in ["county", "state"]:
5446
df = dfs[level]
@@ -85,27 +77,28 @@ class TestPullHelperFuncs:
8577
def test_get_date_range_recent_export_start_date(self):
8678
output = get_date_range(
8779
datetime.strptime("20201230", "%Y%m%d"),
88-
date.today(),
80+
datetime.combine(date.today(), datetime.min.time()),
8981
14
9082
)
9183

92-
expected = [date(2020, 12, 24),
93-
date(2021, 1, 5)]
84+
expected = [datetime(2020, 12, 24),
85+
datetime(2021, 1, 5)]
9486
assert set(output) == set(expected)
9587

9688
@freeze_time("2021-01-05")
9789
def test_get_date_range(self):
9890
output = get_date_range(
9991
datetime.strptime("20200201", "%Y%m%d"),
100-
date.today(),
92+
datetime.combine(date.today(), datetime.min.time()),
10193
14
10294
)
10395

104-
expected = [date(2020, 12, 16), date(2021, 1, 5)]
96+
expected = [datetime(2020, 12, 16),
97+
datetime(2021, 1, 5)]
10598
assert set(output) == set(expected)
10699

107100
def test_format_dates_for_query(self):
108-
date_list = [date(2016, 12, 30), date(2021, 1, 5)]
101+
date_list = [datetime(2016, 12, 30), datetime(2021, 1, 5)]
109102
output = format_dates_for_query(date_list)
110103
expected = ["2016-12-30", "2021-01-05"]
111104
assert output == expected

0 commit comments

Comments
 (0)